diff --git a/handwritten/hexagon_disas_c/include.c b/handwritten/hexagon_disas_c/include.c index 8c785622..7eb27f17 100644 --- a/handwritten/hexagon_disas_c/include.c +++ b/handwritten/hexagon_disas_c/include.c @@ -10,7 +10,7 @@ #include "hexagon.h" #include "hexagon_insn.h" #include "hexagon_arch.h" -#include "hexagon_il.h" +#include "../../../analysis/arch/hexagon/hexagon_il.h" #if ASAN && !defined(__clang__) #define NO_OPT_IF_ASAN __attribute__((optimize(0))) diff --git a/rizin/librz/analysis/arch/hexagon/hexagon_il.h b/rizin/librz/analysis/arch/hexagon/hexagon_il.h new file mode 100644 index 00000000..39224daf --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/hexagon_il.h @@ -0,0 +1,2403 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 16:52:20-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#ifndef HEXAGON_IL_H +#define HEXAGON_IL_H + +#include +#include "hexagon.h" + +#define NOT_IMPLEMENTED \ + do { \ + RZ_LOG_INFO("IL instruction not implemented."); \ + return NOP; \ + } while (0) + +#define ISA2REG(hi, var, new_reg) hex_isa_to_reg(hi, var, new_reg) +#define ISA2IMM(hi, var) hex_isa_to_imm(hi, var) +#define ALIAS2REG(alias) hex_alias_to_reg(alias) + +RzILOpEffect *hex_il_op_a2_abs(void *hi); +RzILOpEffect *hex_il_op_a2_absp(void *hi); +RzILOpEffect *hex_il_op_a2_abssat(void *hi); +RzILOpEffect *hex_il_op_a2_add(void *hi); +RzILOpEffect *hex_il_op_a2_addh_h16_hh(void *hi); +RzILOpEffect *hex_il_op_a2_addh_h16_hl(void *hi); +RzILOpEffect *hex_il_op_a2_addh_h16_lh(void *hi); +RzILOpEffect *hex_il_op_a2_addh_h16_ll(void *hi); +RzILOpEffect *hex_il_op_a2_addh_h16_sat_hh(void *hi); +RzILOpEffect *hex_il_op_a2_addh_h16_sat_hl(void *hi); +RzILOpEffect *hex_il_op_a2_addh_h16_sat_lh(void *hi); +RzILOpEffect *hex_il_op_a2_addh_h16_sat_ll(void *hi); +RzILOpEffect *hex_il_op_a2_addh_l16_hl(void *hi); +RzILOpEffect *hex_il_op_a2_addh_l16_ll(void *hi); +RzILOpEffect *hex_il_op_a2_addh_l16_sat_hl(void *hi); +RzILOpEffect *hex_il_op_a2_addh_l16_sat_ll(void *hi); +RzILOpEffect *hex_il_op_a2_addi(void *hi); +RzILOpEffect *hex_il_op_a2_addp(void *hi); +RzILOpEffect *hex_il_op_a2_addpsat(void *hi); +RzILOpEffect *hex_il_op_a2_addsat(void *hi); +RzILOpEffect *hex_il_op_a2_addsph(void *hi); +RzILOpEffect *hex_il_op_a2_addspl(void *hi); +RzILOpEffect *hex_il_op_a2_and(void *hi); +RzILOpEffect *hex_il_op_a2_andir(void *hi); +RzILOpEffect *hex_il_op_a2_andp(void *hi); +RzILOpEffect *hex_il_op_a2_aslh(void *hi); +RzILOpEffect *hex_il_op_a2_asrh(void *hi); +RzILOpEffect *hex_il_op_a2_combine_hh(void *hi); +RzILOpEffect *hex_il_op_a2_combine_hl(void *hi); +RzILOpEffect *hex_il_op_a2_combine_lh(void *hi); +RzILOpEffect *hex_il_op_a2_combine_ll(void *hi); +RzILOpEffect *hex_il_op_a2_combineii(void *hi); +RzILOpEffect *hex_il_op_a2_combinew(void *hi); +RzILOpEffect *hex_il_op_a2_max(void *hi); +RzILOpEffect *hex_il_op_a2_maxp(void *hi); +RzILOpEffect *hex_il_op_a2_maxu(void *hi); +RzILOpEffect *hex_il_op_a2_maxup(void *hi); +RzILOpEffect *hex_il_op_a2_min(void *hi); +RzILOpEffect *hex_il_op_a2_minp(void *hi); +RzILOpEffect *hex_il_op_a2_minu(void *hi); +RzILOpEffect *hex_il_op_a2_minup(void *hi); +RzILOpEffect *hex_il_op_a2_negp(void *hi); +RzILOpEffect *hex_il_op_a2_negsat(void *hi); +RzILOpEffect *hex_il_op_a2_nop(void *hi); +RzILOpEffect *hex_il_op_a2_notp(void *hi); +RzILOpEffect *hex_il_op_a2_or(void *hi); +RzILOpEffect *hex_il_op_a2_orir(void *hi); +RzILOpEffect *hex_il_op_a2_orp(void *hi); +RzILOpEffect *hex_il_op_a2_paddf(void *hi); +RzILOpEffect *hex_il_op_a2_paddfnew(void *hi); +RzILOpEffect *hex_il_op_a2_paddif(void *hi); +RzILOpEffect *hex_il_op_a2_paddifnew(void *hi); +RzILOpEffect *hex_il_op_a2_paddit(void *hi); +RzILOpEffect *hex_il_op_a2_padditnew(void *hi); +RzILOpEffect *hex_il_op_a2_paddt(void *hi); +RzILOpEffect *hex_il_op_a2_paddtnew(void *hi); +RzILOpEffect *hex_il_op_a2_pandf(void *hi); +RzILOpEffect *hex_il_op_a2_pandfnew(void *hi); +RzILOpEffect *hex_il_op_a2_pandt(void *hi); +RzILOpEffect *hex_il_op_a2_pandtnew(void *hi); +RzILOpEffect *hex_il_op_a2_porf(void *hi); +RzILOpEffect *hex_il_op_a2_porfnew(void *hi); +RzILOpEffect *hex_il_op_a2_port(void *hi); +RzILOpEffect *hex_il_op_a2_portnew(void *hi); +RzILOpEffect *hex_il_op_a2_psubf(void *hi); +RzILOpEffect *hex_il_op_a2_psubfnew(void *hi); +RzILOpEffect *hex_il_op_a2_psubt(void *hi); +RzILOpEffect *hex_il_op_a2_psubtnew(void *hi); +RzILOpEffect *hex_il_op_a2_pxorf(void *hi); +RzILOpEffect *hex_il_op_a2_pxorfnew(void *hi); +RzILOpEffect *hex_il_op_a2_pxort(void *hi); +RzILOpEffect *hex_il_op_a2_pxortnew(void *hi); +RzILOpEffect *hex_il_op_a2_roundsat(void *hi); +RzILOpEffect *hex_il_op_a2_sat(void *hi); +RzILOpEffect *hex_il_op_a2_satb(void *hi); +RzILOpEffect *hex_il_op_a2_sath(void *hi); +RzILOpEffect *hex_il_op_a2_satub(void *hi); +RzILOpEffect *hex_il_op_a2_satuh(void *hi); +RzILOpEffect *hex_il_op_a2_sub(void *hi); +RzILOpEffect *hex_il_op_a2_subh_h16_hh(void *hi); +RzILOpEffect *hex_il_op_a2_subh_h16_hl(void *hi); +RzILOpEffect *hex_il_op_a2_subh_h16_lh(void *hi); +RzILOpEffect *hex_il_op_a2_subh_h16_ll(void *hi); +RzILOpEffect *hex_il_op_a2_subh_h16_sat_hh(void *hi); +RzILOpEffect *hex_il_op_a2_subh_h16_sat_hl(void *hi); +RzILOpEffect *hex_il_op_a2_subh_h16_sat_lh(void *hi); +RzILOpEffect *hex_il_op_a2_subh_h16_sat_ll(void *hi); +RzILOpEffect *hex_il_op_a2_subh_l16_hl(void *hi); +RzILOpEffect *hex_il_op_a2_subh_l16_ll(void *hi); +RzILOpEffect *hex_il_op_a2_subh_l16_sat_hl(void *hi); +RzILOpEffect *hex_il_op_a2_subh_l16_sat_ll(void *hi); +RzILOpEffect *hex_il_op_a2_subp(void *hi); +RzILOpEffect *hex_il_op_a2_subri(void *hi); +RzILOpEffect *hex_il_op_a2_subsat(void *hi); +RzILOpEffect *hex_il_op_a2_svaddh(void *hi); +RzILOpEffect *hex_il_op_a2_svaddhs(void *hi); +RzILOpEffect *hex_il_op_a2_svadduhs(void *hi); +RzILOpEffect *hex_il_op_a2_svavgh(void *hi); +RzILOpEffect *hex_il_op_a2_svavghs(void *hi); +RzILOpEffect *hex_il_op_a2_svnavgh(void *hi); +RzILOpEffect *hex_il_op_a2_svsubh(void *hi); +RzILOpEffect *hex_il_op_a2_svsubhs(void *hi); +RzILOpEffect *hex_il_op_a2_svsubuhs(void *hi); +RzILOpEffect *hex_il_op_a2_swiz(void *hi); +RzILOpEffect *hex_il_op_a2_sxtb(void *hi); +RzILOpEffect *hex_il_op_a2_sxth(void *hi); +RzILOpEffect *hex_il_op_a2_sxtw(void *hi); +RzILOpEffect *hex_il_op_a2_tfr(void *hi); +RzILOpEffect *hex_il_op_a2_tfrcrr(void *hi); +RzILOpEffect *hex_il_op_a2_tfrih(void *hi); +RzILOpEffect *hex_il_op_a2_tfril(void *hi); +RzILOpEffect *hex_il_op_a2_tfrrcr(void *hi); +RzILOpEffect *hex_il_op_a2_tfrsi(void *hi); +RzILOpEffect *hex_il_op_a2_vabsh(void *hi); +RzILOpEffect *hex_il_op_a2_vabshsat(void *hi); +RzILOpEffect *hex_il_op_a2_vabsw(void *hi); +RzILOpEffect *hex_il_op_a2_vabswsat(void *hi); +RzILOpEffect *hex_il_op_a2_vaddh(void *hi); +RzILOpEffect *hex_il_op_a2_vaddhs(void *hi); +RzILOpEffect *hex_il_op_a2_vaddub(void *hi); +RzILOpEffect *hex_il_op_a2_vaddubs(void *hi); +RzILOpEffect *hex_il_op_a2_vadduhs(void *hi); +RzILOpEffect *hex_il_op_a2_vaddw(void *hi); +RzILOpEffect *hex_il_op_a2_vaddws(void *hi); +RzILOpEffect *hex_il_op_a2_vavgh(void *hi); +RzILOpEffect *hex_il_op_a2_vavghcr(void *hi); +RzILOpEffect *hex_il_op_a2_vavghr(void *hi); +RzILOpEffect *hex_il_op_a2_vavgub(void *hi); +RzILOpEffect *hex_il_op_a2_vavgubr(void *hi); +RzILOpEffect *hex_il_op_a2_vavguh(void *hi); +RzILOpEffect *hex_il_op_a2_vavguhr(void *hi); +RzILOpEffect *hex_il_op_a2_vavguw(void *hi); +RzILOpEffect *hex_il_op_a2_vavguwr(void *hi); +RzILOpEffect *hex_il_op_a2_vavgw(void *hi); +RzILOpEffect *hex_il_op_a2_vavgwcr(void *hi); +RzILOpEffect *hex_il_op_a2_vavgwr(void *hi); +RzILOpEffect *hex_il_op_a2_vcmpbeq(void *hi); +RzILOpEffect *hex_il_op_a2_vcmpbgtu(void *hi); +RzILOpEffect *hex_il_op_a2_vcmpheq(void *hi); +RzILOpEffect *hex_il_op_a2_vcmphgt(void *hi); +RzILOpEffect *hex_il_op_a2_vcmphgtu(void *hi); +RzILOpEffect *hex_il_op_a2_vcmpweq(void *hi); +RzILOpEffect *hex_il_op_a2_vcmpwgt(void *hi); +RzILOpEffect *hex_il_op_a2_vcmpwgtu(void *hi); +RzILOpEffect *hex_il_op_a2_vconj(void *hi); +RzILOpEffect *hex_il_op_a2_vmaxb(void *hi); +RzILOpEffect *hex_il_op_a2_vmaxh(void *hi); +RzILOpEffect *hex_il_op_a2_vmaxub(void *hi); +RzILOpEffect *hex_il_op_a2_vmaxuh(void *hi); +RzILOpEffect *hex_il_op_a2_vmaxuw(void *hi); +RzILOpEffect *hex_il_op_a2_vmaxw(void *hi); +RzILOpEffect *hex_il_op_a2_vminb(void *hi); +RzILOpEffect *hex_il_op_a2_vminh(void *hi); +RzILOpEffect *hex_il_op_a2_vminub(void *hi); +RzILOpEffect *hex_il_op_a2_vminuh(void *hi); +RzILOpEffect *hex_il_op_a2_vminuw(void *hi); +RzILOpEffect *hex_il_op_a2_vminw(void *hi); +RzILOpEffect *hex_il_op_a2_vnavgh(void *hi); +RzILOpEffect *hex_il_op_a2_vnavghcr(void *hi); +RzILOpEffect *hex_il_op_a2_vnavghr(void *hi); +RzILOpEffect *hex_il_op_a2_vnavgw(void *hi); +RzILOpEffect *hex_il_op_a2_vnavgwcr(void *hi); +RzILOpEffect *hex_il_op_a2_vnavgwr(void *hi); +RzILOpEffect *hex_il_op_a2_vraddub(void *hi); +RzILOpEffect *hex_il_op_a2_vraddub_acc(void *hi); +RzILOpEffect *hex_il_op_a2_vrsadub(void *hi); +RzILOpEffect *hex_il_op_a2_vrsadub_acc(void *hi); +RzILOpEffect *hex_il_op_a2_vsubh(void *hi); +RzILOpEffect *hex_il_op_a2_vsubhs(void *hi); +RzILOpEffect *hex_il_op_a2_vsubub(void *hi); +RzILOpEffect *hex_il_op_a2_vsububs(void *hi); +RzILOpEffect *hex_il_op_a2_vsubuhs(void *hi); +RzILOpEffect *hex_il_op_a2_vsubw(void *hi); +RzILOpEffect *hex_il_op_a2_vsubws(void *hi); +RzILOpEffect *hex_il_op_a2_xor(void *hi); +RzILOpEffect *hex_il_op_a2_xorp(void *hi); +RzILOpEffect *hex_il_op_a2_zxth(void *hi); +RzILOpEffect *hex_il_op_a4_addp_c(void *hi); +RzILOpEffect *hex_il_op_a4_andn(void *hi); +RzILOpEffect *hex_il_op_a4_andnp(void *hi); +RzILOpEffect *hex_il_op_a4_bitsplit(void *hi); +RzILOpEffect *hex_il_op_a4_bitspliti(void *hi); +RzILOpEffect *hex_il_op_a4_boundscheck_hi(void *hi); +RzILOpEffect *hex_il_op_a4_boundscheck_lo(void *hi); +RzILOpEffect *hex_il_op_a4_cmpbeq(void *hi); +RzILOpEffect *hex_il_op_a4_cmpbeqi(void *hi); +RzILOpEffect *hex_il_op_a4_cmpbgt(void *hi); +RzILOpEffect *hex_il_op_a4_cmpbgti(void *hi); +RzILOpEffect *hex_il_op_a4_cmpbgtu(void *hi); +RzILOpEffect *hex_il_op_a4_cmpbgtui(void *hi); +RzILOpEffect *hex_il_op_a4_cmpheq(void *hi); +RzILOpEffect *hex_il_op_a4_cmpheqi(void *hi); +RzILOpEffect *hex_il_op_a4_cmphgt(void *hi); +RzILOpEffect *hex_il_op_a4_cmphgti(void *hi); +RzILOpEffect *hex_il_op_a4_cmphgtu(void *hi); +RzILOpEffect *hex_il_op_a4_cmphgtui(void *hi); +RzILOpEffect *hex_il_op_a4_combineii(void *hi); +RzILOpEffect *hex_il_op_a4_combineir(void *hi); +RzILOpEffect *hex_il_op_a4_combineri(void *hi); +RzILOpEffect *hex_il_op_a4_cround_ri(void *hi); +RzILOpEffect *hex_il_op_a4_cround_rr(void *hi); +RzILOpEffect *hex_il_op_a4_ext(void *hi); +RzILOpEffect *hex_il_op_a4_modwrapu(void *hi); +RzILOpEffect *hex_il_op_a4_orn(void *hi); +RzILOpEffect *hex_il_op_a4_ornp(void *hi); +RzILOpEffect *hex_il_op_a4_paslhf(void *hi); +RzILOpEffect *hex_il_op_a4_paslhfnew(void *hi); +RzILOpEffect *hex_il_op_a4_paslht(void *hi); +RzILOpEffect *hex_il_op_a4_paslhtnew(void *hi); +RzILOpEffect *hex_il_op_a4_pasrhf(void *hi); +RzILOpEffect *hex_il_op_a4_pasrhfnew(void *hi); +RzILOpEffect *hex_il_op_a4_pasrht(void *hi); +RzILOpEffect *hex_il_op_a4_pasrhtnew(void *hi); +RzILOpEffect *hex_il_op_a4_psxtbf(void *hi); +RzILOpEffect *hex_il_op_a4_psxtbfnew(void *hi); +RzILOpEffect *hex_il_op_a4_psxtbt(void *hi); +RzILOpEffect *hex_il_op_a4_psxtbtnew(void *hi); +RzILOpEffect *hex_il_op_a4_psxthf(void *hi); +RzILOpEffect *hex_il_op_a4_psxthfnew(void *hi); +RzILOpEffect *hex_il_op_a4_psxtht(void *hi); +RzILOpEffect *hex_il_op_a4_psxthtnew(void *hi); +RzILOpEffect *hex_il_op_a4_pzxtbf(void *hi); +RzILOpEffect *hex_il_op_a4_pzxtbfnew(void *hi); +RzILOpEffect *hex_il_op_a4_pzxtbt(void *hi); +RzILOpEffect *hex_il_op_a4_pzxtbtnew(void *hi); +RzILOpEffect *hex_il_op_a4_pzxthf(void *hi); +RzILOpEffect *hex_il_op_a4_pzxthfnew(void *hi); +RzILOpEffect *hex_il_op_a4_pzxtht(void *hi); +RzILOpEffect *hex_il_op_a4_pzxthtnew(void *hi); +RzILOpEffect *hex_il_op_a4_rcmpeq(void *hi); +RzILOpEffect *hex_il_op_a4_rcmpeqi(void *hi); +RzILOpEffect *hex_il_op_a4_rcmpneq(void *hi); +RzILOpEffect *hex_il_op_a4_rcmpneqi(void *hi); +RzILOpEffect *hex_il_op_a4_round_ri(void *hi); +RzILOpEffect *hex_il_op_a4_round_ri_sat(void *hi); +RzILOpEffect *hex_il_op_a4_round_rr(void *hi); +RzILOpEffect *hex_il_op_a4_round_rr_sat(void *hi); +RzILOpEffect *hex_il_op_a4_subp_c(void *hi); +RzILOpEffect *hex_il_op_a4_tfrcpp(void *hi); +RzILOpEffect *hex_il_op_a4_tfrpcp(void *hi); +RzILOpEffect *hex_il_op_a4_tlbmatch(void *hi); +RzILOpEffect *hex_il_op_a4_vcmpbeq_any(void *hi); +RzILOpEffect *hex_il_op_a4_vcmpbeqi(void *hi); +RzILOpEffect *hex_il_op_a4_vcmpbgt(void *hi); +RzILOpEffect *hex_il_op_a4_vcmpbgti(void *hi); +RzILOpEffect *hex_il_op_a4_vcmpbgtui(void *hi); +RzILOpEffect *hex_il_op_a4_vcmpheqi(void *hi); +RzILOpEffect *hex_il_op_a4_vcmphgti(void *hi); +RzILOpEffect *hex_il_op_a4_vcmphgtui(void *hi); +RzILOpEffect *hex_il_op_a4_vcmpweqi(void *hi); +RzILOpEffect *hex_il_op_a4_vcmpwgti(void *hi); +RzILOpEffect *hex_il_op_a4_vcmpwgtui(void *hi); +RzILOpEffect *hex_il_op_a4_vrmaxh(void *hi); +RzILOpEffect *hex_il_op_a4_vrmaxuh(void *hi); +RzILOpEffect *hex_il_op_a4_vrmaxuw(void *hi); +RzILOpEffect *hex_il_op_a4_vrmaxw(void *hi); +RzILOpEffect *hex_il_op_a4_vrminh(void *hi); +RzILOpEffect *hex_il_op_a4_vrminuh(void *hi); +RzILOpEffect *hex_il_op_a4_vrminuw(void *hi); +RzILOpEffect *hex_il_op_a4_vrminw(void *hi); +RzILOpEffect *hex_il_op_a5_acs(void *hi); +RzILOpEffect *hex_il_op_a5_vaddhubs(void *hi); +RzILOpEffect *hex_il_op_a6_vcmpbeq_notany(void *hi); +RzILOpEffect *hex_il_op_a6_vminub_rdp(void *hi); +RzILOpEffect *hex_il_op_a7_clip(void *hi); +RzILOpEffect *hex_il_op_a7_croundd_ri(void *hi); +RzILOpEffect *hex_il_op_a7_croundd_rr(void *hi); +RzILOpEffect *hex_il_op_a7_vclip(void *hi); +RzILOpEffect *hex_il_op_c2_all8(void *hi); +RzILOpEffect *hex_il_op_c2_and(void *hi); +RzILOpEffect *hex_il_op_c2_andn(void *hi); +RzILOpEffect *hex_il_op_c2_any8(void *hi); +RzILOpEffect *hex_il_op_c2_bitsclr(void *hi); +RzILOpEffect *hex_il_op_c2_bitsclri(void *hi); +RzILOpEffect *hex_il_op_c2_bitsset(void *hi); +RzILOpEffect *hex_il_op_c2_ccombinewf(void *hi); +RzILOpEffect *hex_il_op_c2_ccombinewnewf(void *hi); +RzILOpEffect *hex_il_op_c2_ccombinewnewt(void *hi); +RzILOpEffect *hex_il_op_c2_ccombinewt(void *hi); +RzILOpEffect *hex_il_op_c2_cmoveif(void *hi); +RzILOpEffect *hex_il_op_c2_cmoveit(void *hi); +RzILOpEffect *hex_il_op_c2_cmovenewif(void *hi); +RzILOpEffect *hex_il_op_c2_cmovenewit(void *hi); +RzILOpEffect *hex_il_op_c2_cmpeq(void *hi); +RzILOpEffect *hex_il_op_c2_cmpeqi(void *hi); +RzILOpEffect *hex_il_op_c2_cmpeqp(void *hi); +RzILOpEffect *hex_il_op_c2_cmpgt(void *hi); +RzILOpEffect *hex_il_op_c2_cmpgti(void *hi); +RzILOpEffect *hex_il_op_c2_cmpgtp(void *hi); +RzILOpEffect *hex_il_op_c2_cmpgtu(void *hi); +RzILOpEffect *hex_il_op_c2_cmpgtui(void *hi); +RzILOpEffect *hex_il_op_c2_cmpgtup(void *hi); +RzILOpEffect *hex_il_op_c2_mask(void *hi); +RzILOpEffect *hex_il_op_c2_mux(void *hi); +RzILOpEffect *hex_il_op_c2_muxii(void *hi); +RzILOpEffect *hex_il_op_c2_muxir(void *hi); +RzILOpEffect *hex_il_op_c2_muxri(void *hi); +RzILOpEffect *hex_il_op_c2_not(void *hi); +RzILOpEffect *hex_il_op_c2_or(void *hi); +RzILOpEffect *hex_il_op_c2_orn(void *hi); +RzILOpEffect *hex_il_op_c2_tfrpr(void *hi); +RzILOpEffect *hex_il_op_c2_tfrrp(void *hi); +RzILOpEffect *hex_il_op_c2_vitpack(void *hi); +RzILOpEffect *hex_il_op_c2_vmux(void *hi); +RzILOpEffect *hex_il_op_c2_xor(void *hi); +RzILOpEffect *hex_il_op_c4_addipc(void *hi); +RzILOpEffect *hex_il_op_c4_and_and(void *hi); +RzILOpEffect *hex_il_op_c4_and_andn(void *hi); +RzILOpEffect *hex_il_op_c4_and_or(void *hi); +RzILOpEffect *hex_il_op_c4_and_orn(void *hi); +RzILOpEffect *hex_il_op_c4_cmplte(void *hi); +RzILOpEffect *hex_il_op_c4_cmpltei(void *hi); +RzILOpEffect *hex_il_op_c4_cmplteu(void *hi); +RzILOpEffect *hex_il_op_c4_cmplteui(void *hi); +RzILOpEffect *hex_il_op_c4_cmpneq(void *hi); +RzILOpEffect *hex_il_op_c4_cmpneqi(void *hi); +RzILOpEffect *hex_il_op_c4_fastcorner9(void *hi); +RzILOpEffect *hex_il_op_c4_fastcorner9_not(void *hi); +RzILOpEffect *hex_il_op_c4_nbitsclr(void *hi); +RzILOpEffect *hex_il_op_c4_nbitsclri(void *hi); +RzILOpEffect *hex_il_op_c4_nbitsset(void *hi); +RzILOpEffect *hex_il_op_c4_or_and(void *hi); +RzILOpEffect *hex_il_op_c4_or_andn(void *hi); +RzILOpEffect *hex_il_op_c4_or_or(void *hi); +RzILOpEffect *hex_il_op_c4_or_orn(void *hi); +RzILOpEffect *hex_il_op_f2_conv_d2df(void *hi); +RzILOpEffect *hex_il_op_f2_conv_d2sf(void *hi); +RzILOpEffect *hex_il_op_f2_conv_df2d(void *hi); +RzILOpEffect *hex_il_op_f2_conv_df2d_chop(void *hi); +RzILOpEffect *hex_il_op_f2_conv_df2sf(void *hi); +RzILOpEffect *hex_il_op_f2_conv_df2ud(void *hi); +RzILOpEffect *hex_il_op_f2_conv_df2ud_chop(void *hi); +RzILOpEffect *hex_il_op_f2_conv_df2uw(void *hi); +RzILOpEffect *hex_il_op_f2_conv_df2uw_chop(void *hi); +RzILOpEffect *hex_il_op_f2_conv_df2w(void *hi); +RzILOpEffect *hex_il_op_f2_conv_df2w_chop(void *hi); +RzILOpEffect *hex_il_op_f2_conv_sf2d(void *hi); +RzILOpEffect *hex_il_op_f2_conv_sf2d_chop(void *hi); +RzILOpEffect *hex_il_op_f2_conv_sf2df(void *hi); +RzILOpEffect *hex_il_op_f2_conv_sf2ud(void *hi); +RzILOpEffect *hex_il_op_f2_conv_sf2ud_chop(void *hi); +RzILOpEffect *hex_il_op_f2_conv_sf2uw(void *hi); +RzILOpEffect *hex_il_op_f2_conv_sf2uw_chop(void *hi); +RzILOpEffect *hex_il_op_f2_conv_sf2w(void *hi); +RzILOpEffect *hex_il_op_f2_conv_sf2w_chop(void *hi); +RzILOpEffect *hex_il_op_f2_conv_ud2df(void *hi); +RzILOpEffect *hex_il_op_f2_conv_ud2sf(void *hi); +RzILOpEffect *hex_il_op_f2_conv_uw2df(void *hi); +RzILOpEffect *hex_il_op_f2_conv_uw2sf(void *hi); +RzILOpEffect *hex_il_op_f2_conv_w2df(void *hi); +RzILOpEffect *hex_il_op_f2_conv_w2sf(void *hi); +RzILOpEffect *hex_il_op_f2_dfadd(void *hi); +RzILOpEffect *hex_il_op_f2_dfclass(void *hi); +RzILOpEffect *hex_il_op_f2_dfcmpeq(void *hi); +RzILOpEffect *hex_il_op_f2_dfcmpge(void *hi); +RzILOpEffect *hex_il_op_f2_dfcmpgt(void *hi); +RzILOpEffect *hex_il_op_f2_dfcmpuo(void *hi); +RzILOpEffect *hex_il_op_f2_dfimm_n(void *hi); +RzILOpEffect *hex_il_op_f2_dfimm_p(void *hi); +RzILOpEffect *hex_il_op_f2_dfmax(void *hi); +RzILOpEffect *hex_il_op_f2_dfmin(void *hi); +RzILOpEffect *hex_il_op_f2_dfmpyfix(void *hi); +RzILOpEffect *hex_il_op_f2_dfmpyhh(void *hi); +RzILOpEffect *hex_il_op_f2_dfmpylh(void *hi); +RzILOpEffect *hex_il_op_f2_dfmpyll(void *hi); +RzILOpEffect *hex_il_op_f2_dfsub(void *hi); +RzILOpEffect *hex_il_op_f2_sfadd(void *hi); +RzILOpEffect *hex_il_op_f2_sfclass(void *hi); +RzILOpEffect *hex_il_op_f2_sfcmpeq(void *hi); +RzILOpEffect *hex_il_op_f2_sfcmpge(void *hi); +RzILOpEffect *hex_il_op_f2_sfcmpgt(void *hi); +RzILOpEffect *hex_il_op_f2_sfcmpuo(void *hi); +RzILOpEffect *hex_il_op_f2_sffixupd(void *hi); +RzILOpEffect *hex_il_op_f2_sffixupn(void *hi); +RzILOpEffect *hex_il_op_f2_sffixupr(void *hi); +RzILOpEffect *hex_il_op_f2_sffma(void *hi); +RzILOpEffect *hex_il_op_f2_sffma_lib(void *hi); +RzILOpEffect *hex_il_op_f2_sffma_sc(void *hi); +RzILOpEffect *hex_il_op_f2_sffms(void *hi); +RzILOpEffect *hex_il_op_f2_sffms_lib(void *hi); +RzILOpEffect *hex_il_op_f2_sfimm_n(void *hi); +RzILOpEffect *hex_il_op_f2_sfimm_p(void *hi); +RzILOpEffect *hex_il_op_f2_sfinvsqrta(void *hi); +RzILOpEffect *hex_il_op_f2_sfmax(void *hi); +RzILOpEffect *hex_il_op_f2_sfmin(void *hi); +RzILOpEffect *hex_il_op_f2_sfmpy(void *hi); +RzILOpEffect *hex_il_op_f2_sfrecipa(void *hi); +RzILOpEffect *hex_il_op_f2_sfsub(void *hi); +RzILOpEffect *hex_il_op_g4_tfrgcpp(void *hi); +RzILOpEffect *hex_il_op_g4_tfrgcrr(void *hi); +RzILOpEffect *hex_il_op_g4_tfrgpcp(void *hi); +RzILOpEffect *hex_il_op_g4_tfrgrcr(void *hi); +RzILOpEffect *hex_il_op_j2_call(void *hi); +RzILOpEffect *hex_il_op_j2_callf(void *hi); +RzILOpEffect *hex_il_op_j2_callr(void *hi); +RzILOpEffect *hex_il_op_j2_callrf(void *hi); +RzILOpEffect *hex_il_op_j2_callrt(void *hi); +RzILOpEffect *hex_il_op_j2_callt(void *hi); +RzILOpEffect *hex_il_op_j2_jump(void *hi); +RzILOpEffect *hex_il_op_j2_jumpf(void *hi); +RzILOpEffect *hex_il_op_j2_jumpfnew(void *hi); +RzILOpEffect *hex_il_op_j2_jumpfnewpt(void *hi); +RzILOpEffect *hex_il_op_j2_jumpfpt(void *hi); +RzILOpEffect *hex_il_op_j2_jumpr(void *hi); +RzILOpEffect *hex_il_op_j2_jumprf(void *hi); +RzILOpEffect *hex_il_op_j2_jumprfnew(void *hi); +RzILOpEffect *hex_il_op_j2_jumprfnewpt(void *hi); +RzILOpEffect *hex_il_op_j2_jumprfpt(void *hi); +RzILOpEffect *hex_il_op_j2_jumprgtez(void *hi); +RzILOpEffect *hex_il_op_j2_jumprgtezpt(void *hi); +RzILOpEffect *hex_il_op_j2_jumprltez(void *hi); +RzILOpEffect *hex_il_op_j2_jumprltezpt(void *hi); +RzILOpEffect *hex_il_op_j2_jumprnz(void *hi); +RzILOpEffect *hex_il_op_j2_jumprnzpt(void *hi); +RzILOpEffect *hex_il_op_j2_jumprt(void *hi); +RzILOpEffect *hex_il_op_j2_jumprtnew(void *hi); +RzILOpEffect *hex_il_op_j2_jumprtnewpt(void *hi); +RzILOpEffect *hex_il_op_j2_jumprtpt(void *hi); +RzILOpEffect *hex_il_op_j2_jumprz(void *hi); +RzILOpEffect *hex_il_op_j2_jumprzpt(void *hi); +RzILOpEffect *hex_il_op_j2_jumpt(void *hi); +RzILOpEffect *hex_il_op_j2_jumptnew(void *hi); +RzILOpEffect *hex_il_op_j2_jumptnewpt(void *hi); +RzILOpEffect *hex_il_op_j2_jumptpt(void *hi); +RzILOpEffect *hex_il_op_j2_loop0i(void *hi); +RzILOpEffect *hex_il_op_j2_loop0r(void *hi); +RzILOpEffect *hex_il_op_j2_loop1i(void *hi); +RzILOpEffect *hex_il_op_j2_loop1r(void *hi); +RzILOpEffect *hex_il_op_j2_pause(void *hi); +RzILOpEffect *hex_il_op_j2_ploop1si(void *hi); +RzILOpEffect *hex_il_op_j2_ploop1sr(void *hi); +RzILOpEffect *hex_il_op_j2_ploop2si(void *hi); +RzILOpEffect *hex_il_op_j2_ploop2sr(void *hi); +RzILOpEffect *hex_il_op_j2_ploop3si(void *hi); +RzILOpEffect *hex_il_op_j2_ploop3sr(void *hi); +RzILOpEffect *hex_il_op_j2_trap0(void *hi); +RzILOpEffect *hex_il_op_j2_trap1(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeq_f_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeq_f_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeq_fp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeq_fp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeq_fp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeq_fp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeq_t_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeq_t_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeq_tp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeq_tp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeq_tp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeq_tp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqi_f_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqi_f_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqi_fp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqi_fp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqi_fp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqi_fp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqi_t_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqi_t_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqi_tp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqi_tp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqi_tp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqi_tp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqn1_f_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqn1_f_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqn1_fp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqn1_fp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqn1_fp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqn1_fp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqn1_t_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqn1_t_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqn1_tp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqn1_tp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqn1_tp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpeqn1_tp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgt_f_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgt_f_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgt_fp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgt_fp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgt_fp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgt_fp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgt_t_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgt_t_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgt_tp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgt_tp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgt_tp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgt_tp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgti_f_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgti_f_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgti_fp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgti_fp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgti_fp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgti_fp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgti_t_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgti_t_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgti_tp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgti_tp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgti_tp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgti_tp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtn1_f_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtn1_f_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtn1_fp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtn1_fp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtn1_fp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtn1_fp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtn1_t_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtn1_t_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtn1_tp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtn1_tp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtn1_tp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtn1_tp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtu_f_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtu_f_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtu_fp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtu_fp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtu_fp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtu_fp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtu_t_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtu_t_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtu_tp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtu_tp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtu_tp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtu_tp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtui_f_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtui_f_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtui_fp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtui_fp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtui_fp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtui_fp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtui_t_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtui_t_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtui_tp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtui_tp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtui_tp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpgtui_tp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmplt_f_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmplt_f_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmplt_t_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmplt_t_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpltu_f_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpltu_f_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_cmpltu_t_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_cmpltu_t_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_hintjumpr(void *hi); +RzILOpEffect *hex_il_op_j4_jumpseti(void *hi); +RzILOpEffect *hex_il_op_j4_jumpsetr(void *hi); +RzILOpEffect *hex_il_op_j4_tstbit0_f_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_tstbit0_f_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_tstbit0_fp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_tstbit0_fp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_tstbit0_fp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_tstbit0_fp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_tstbit0_t_jumpnv_nt(void *hi); +RzILOpEffect *hex_il_op_j4_tstbit0_t_jumpnv_t(void *hi); +RzILOpEffect *hex_il_op_j4_tstbit0_tp0_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_tstbit0_tp0_jump_t(void *hi); +RzILOpEffect *hex_il_op_j4_tstbit0_tp1_jump_nt(void *hi); +RzILOpEffect *hex_il_op_j4_tstbit0_tp1_jump_t(void *hi); +RzILOpEffect *hex_il_op_l2_deallocframe(void *hi); +RzILOpEffect *hex_il_op_l2_loadalignb_io(void *hi); +RzILOpEffect *hex_il_op_l2_loadalignb_pbr(void *hi); +RzILOpEffect *hex_il_op_l2_loadalignb_pci(void *hi); +RzILOpEffect *hex_il_op_l2_loadalignb_pcr(void *hi); +RzILOpEffect *hex_il_op_l2_loadalignb_pi(void *hi); +RzILOpEffect *hex_il_op_l2_loadalignb_pr(void *hi); +RzILOpEffect *hex_il_op_l2_loadalignh_io(void *hi); +RzILOpEffect *hex_il_op_l2_loadalignh_pbr(void *hi); +RzILOpEffect *hex_il_op_l2_loadalignh_pci(void *hi); +RzILOpEffect *hex_il_op_l2_loadalignh_pcr(void *hi); +RzILOpEffect *hex_il_op_l2_loadalignh_pi(void *hi); +RzILOpEffect *hex_il_op_l2_loadalignh_pr(void *hi); +RzILOpEffect *hex_il_op_l2_loadbsw2_io(void *hi); +RzILOpEffect *hex_il_op_l2_loadbsw2_pbr(void *hi); +RzILOpEffect *hex_il_op_l2_loadbsw2_pci(void *hi); +RzILOpEffect *hex_il_op_l2_loadbsw2_pcr(void *hi); +RzILOpEffect *hex_il_op_l2_loadbsw2_pi(void *hi); +RzILOpEffect *hex_il_op_l2_loadbsw2_pr(void *hi); +RzILOpEffect *hex_il_op_l2_loadbsw4_io(void *hi); +RzILOpEffect *hex_il_op_l2_loadbsw4_pbr(void *hi); +RzILOpEffect *hex_il_op_l2_loadbsw4_pci(void *hi); +RzILOpEffect *hex_il_op_l2_loadbsw4_pcr(void *hi); +RzILOpEffect *hex_il_op_l2_loadbsw4_pi(void *hi); +RzILOpEffect *hex_il_op_l2_loadbsw4_pr(void *hi); +RzILOpEffect *hex_il_op_l2_loadbzw2_io(void *hi); +RzILOpEffect *hex_il_op_l2_loadbzw2_pbr(void *hi); +RzILOpEffect *hex_il_op_l2_loadbzw2_pci(void *hi); +RzILOpEffect *hex_il_op_l2_loadbzw2_pcr(void *hi); +RzILOpEffect *hex_il_op_l2_loadbzw2_pi(void *hi); +RzILOpEffect *hex_il_op_l2_loadbzw2_pr(void *hi); +RzILOpEffect *hex_il_op_l2_loadbzw4_io(void *hi); +RzILOpEffect *hex_il_op_l2_loadbzw4_pbr(void *hi); +RzILOpEffect *hex_il_op_l2_loadbzw4_pci(void *hi); +RzILOpEffect *hex_il_op_l2_loadbzw4_pcr(void *hi); +RzILOpEffect *hex_il_op_l2_loadbzw4_pi(void *hi); +RzILOpEffect *hex_il_op_l2_loadbzw4_pr(void *hi); +RzILOpEffect *hex_il_op_l2_loadrb_io(void *hi); +RzILOpEffect *hex_il_op_l2_loadrb_pbr(void *hi); +RzILOpEffect *hex_il_op_l2_loadrb_pci(void *hi); +RzILOpEffect *hex_il_op_l2_loadrb_pcr(void *hi); +RzILOpEffect *hex_il_op_l2_loadrb_pi(void *hi); +RzILOpEffect *hex_il_op_l2_loadrb_pr(void *hi); +RzILOpEffect *hex_il_op_l2_loadrbgp(void *hi); +RzILOpEffect *hex_il_op_l2_loadrd_io(void *hi); +RzILOpEffect *hex_il_op_l2_loadrd_pbr(void *hi); +RzILOpEffect *hex_il_op_l2_loadrd_pci(void *hi); +RzILOpEffect *hex_il_op_l2_loadrd_pcr(void *hi); +RzILOpEffect *hex_il_op_l2_loadrd_pi(void *hi); +RzILOpEffect *hex_il_op_l2_loadrd_pr(void *hi); +RzILOpEffect *hex_il_op_l2_loadrdgp(void *hi); +RzILOpEffect *hex_il_op_l2_loadrh_io(void *hi); +RzILOpEffect *hex_il_op_l2_loadrh_pbr(void *hi); +RzILOpEffect *hex_il_op_l2_loadrh_pci(void *hi); +RzILOpEffect *hex_il_op_l2_loadrh_pcr(void *hi); +RzILOpEffect *hex_il_op_l2_loadrh_pi(void *hi); +RzILOpEffect *hex_il_op_l2_loadrh_pr(void *hi); +RzILOpEffect *hex_il_op_l2_loadrhgp(void *hi); +RzILOpEffect *hex_il_op_l2_loadri_io(void *hi); +RzILOpEffect *hex_il_op_l2_loadri_pbr(void *hi); +RzILOpEffect *hex_il_op_l2_loadri_pci(void *hi); +RzILOpEffect *hex_il_op_l2_loadri_pcr(void *hi); +RzILOpEffect *hex_il_op_l2_loadri_pi(void *hi); +RzILOpEffect *hex_il_op_l2_loadri_pr(void *hi); +RzILOpEffect *hex_il_op_l2_loadrigp(void *hi); +RzILOpEffect *hex_il_op_l2_loadrub_io(void *hi); +RzILOpEffect *hex_il_op_l2_loadrub_pbr(void *hi); +RzILOpEffect *hex_il_op_l2_loadrub_pci(void *hi); +RzILOpEffect *hex_il_op_l2_loadrub_pcr(void *hi); +RzILOpEffect *hex_il_op_l2_loadrub_pi(void *hi); +RzILOpEffect *hex_il_op_l2_loadrub_pr(void *hi); +RzILOpEffect *hex_il_op_l2_loadrubgp(void *hi); +RzILOpEffect *hex_il_op_l2_loadruh_io(void *hi); +RzILOpEffect *hex_il_op_l2_loadruh_pbr(void *hi); +RzILOpEffect *hex_il_op_l2_loadruh_pci(void *hi); +RzILOpEffect *hex_il_op_l2_loadruh_pcr(void *hi); +RzILOpEffect *hex_il_op_l2_loadruh_pi(void *hi); +RzILOpEffect *hex_il_op_l2_loadruh_pr(void *hi); +RzILOpEffect *hex_il_op_l2_loadruhgp(void *hi); +RzILOpEffect *hex_il_op_l2_loadw_aq(void *hi); +RzILOpEffect *hex_il_op_l2_loadw_locked(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrbf_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrbf_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrbfnew_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrbfnew_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrbt_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrbt_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrbtnew_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrbtnew_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrdf_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrdf_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrdfnew_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrdfnew_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrdt_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrdt_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrdtnew_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrdtnew_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrhf_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrhf_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrhfnew_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrhfnew_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrht_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrht_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrhtnew_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrhtnew_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrif_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrif_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrifnew_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrifnew_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrit_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrit_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadritnew_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadritnew_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrubf_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrubf_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrubfnew_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrubfnew_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrubt_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrubt_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrubtnew_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadrubtnew_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadruhf_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadruhf_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadruhfnew_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadruhfnew_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadruht_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadruht_pi(void *hi); +RzILOpEffect *hex_il_op_l2_ploadruhtnew_io(void *hi); +RzILOpEffect *hex_il_op_l2_ploadruhtnew_pi(void *hi); +RzILOpEffect *hex_il_op_l4_add_memopb_io(void *hi); +RzILOpEffect *hex_il_op_l4_add_memoph_io(void *hi); +RzILOpEffect *hex_il_op_l4_add_memopw_io(void *hi); +RzILOpEffect *hex_il_op_l4_and_memopb_io(void *hi); +RzILOpEffect *hex_il_op_l4_and_memoph_io(void *hi); +RzILOpEffect *hex_il_op_l4_and_memopw_io(void *hi); +RzILOpEffect *hex_il_op_l4_iadd_memopb_io(void *hi); +RzILOpEffect *hex_il_op_l4_iadd_memoph_io(void *hi); +RzILOpEffect *hex_il_op_l4_iadd_memopw_io(void *hi); +RzILOpEffect *hex_il_op_l4_iand_memopb_io(void *hi); +RzILOpEffect *hex_il_op_l4_iand_memoph_io(void *hi); +RzILOpEffect *hex_il_op_l4_iand_memopw_io(void *hi); +RzILOpEffect *hex_il_op_l4_ior_memopb_io(void *hi); +RzILOpEffect *hex_il_op_l4_ior_memoph_io(void *hi); +RzILOpEffect *hex_il_op_l4_ior_memopw_io(void *hi); +RzILOpEffect *hex_il_op_l4_isub_memopb_io(void *hi); +RzILOpEffect *hex_il_op_l4_isub_memoph_io(void *hi); +RzILOpEffect *hex_il_op_l4_isub_memopw_io(void *hi); +RzILOpEffect *hex_il_op_l4_loadalignb_ap(void *hi); +RzILOpEffect *hex_il_op_l4_loadalignb_ur(void *hi); +RzILOpEffect *hex_il_op_l4_loadalignh_ap(void *hi); +RzILOpEffect *hex_il_op_l4_loadalignh_ur(void *hi); +RzILOpEffect *hex_il_op_l4_loadbsw2_ap(void *hi); +RzILOpEffect *hex_il_op_l4_loadbsw2_ur(void *hi); +RzILOpEffect *hex_il_op_l4_loadbsw4_ap(void *hi); +RzILOpEffect *hex_il_op_l4_loadbsw4_ur(void *hi); +RzILOpEffect *hex_il_op_l4_loadbzw2_ap(void *hi); +RzILOpEffect *hex_il_op_l4_loadbzw2_ur(void *hi); +RzILOpEffect *hex_il_op_l4_loadbzw4_ap(void *hi); +RzILOpEffect *hex_il_op_l4_loadbzw4_ur(void *hi); +RzILOpEffect *hex_il_op_l4_loadd_aq(void *hi); +RzILOpEffect *hex_il_op_l4_loadd_locked(void *hi); +RzILOpEffect *hex_il_op_l4_loadrb_ap(void *hi); +RzILOpEffect *hex_il_op_l4_loadrb_rr(void *hi); +RzILOpEffect *hex_il_op_l4_loadrb_ur(void *hi); +RzILOpEffect *hex_il_op_l4_loadrd_ap(void *hi); +RzILOpEffect *hex_il_op_l4_loadrd_rr(void *hi); +RzILOpEffect *hex_il_op_l4_loadrd_ur(void *hi); +RzILOpEffect *hex_il_op_l4_loadrh_ap(void *hi); +RzILOpEffect *hex_il_op_l4_loadrh_rr(void *hi); +RzILOpEffect *hex_il_op_l4_loadrh_ur(void *hi); +RzILOpEffect *hex_il_op_l4_loadri_ap(void *hi); +RzILOpEffect *hex_il_op_l4_loadri_rr(void *hi); +RzILOpEffect *hex_il_op_l4_loadri_ur(void *hi); +RzILOpEffect *hex_il_op_l4_loadrub_ap(void *hi); +RzILOpEffect *hex_il_op_l4_loadrub_rr(void *hi); +RzILOpEffect *hex_il_op_l4_loadrub_ur(void *hi); +RzILOpEffect *hex_il_op_l4_loadruh_ap(void *hi); +RzILOpEffect *hex_il_op_l4_loadruh_rr(void *hi); +RzILOpEffect *hex_il_op_l4_loadruh_ur(void *hi); +RzILOpEffect *hex_il_op_l4_or_memopb_io(void *hi); +RzILOpEffect *hex_il_op_l4_or_memoph_io(void *hi); +RzILOpEffect *hex_il_op_l4_or_memopw_io(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrbf_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrbf_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrbfnew_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrbfnew_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrbt_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrbt_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrbtnew_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrbtnew_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrdf_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrdf_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrdfnew_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrdfnew_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrdt_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrdt_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrdtnew_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrdtnew_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrhf_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrhf_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrhfnew_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrhfnew_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrht_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrht_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrhtnew_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrhtnew_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrif_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrif_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrifnew_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrifnew_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrit_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrit_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadritnew_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadritnew_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrubf_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrubf_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrubfnew_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrubfnew_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrubt_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrubt_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrubtnew_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadrubtnew_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadruhf_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadruhf_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadruhfnew_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadruhfnew_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadruht_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadruht_rr(void *hi); +RzILOpEffect *hex_il_op_l4_ploadruhtnew_abs(void *hi); +RzILOpEffect *hex_il_op_l4_ploadruhtnew_rr(void *hi); +RzILOpEffect *hex_il_op_l4_return(void *hi); +RzILOpEffect *hex_il_op_l4_return_f(void *hi); +RzILOpEffect *hex_il_op_l4_return_fnew_pnt(void *hi); +RzILOpEffect *hex_il_op_l4_return_fnew_pt(void *hi); +RzILOpEffect *hex_il_op_l4_return_t(void *hi); +RzILOpEffect *hex_il_op_l4_return_tnew_pnt(void *hi); +RzILOpEffect *hex_il_op_l4_return_tnew_pt(void *hi); +RzILOpEffect *hex_il_op_l4_sub_memopb_io(void *hi); +RzILOpEffect *hex_il_op_l4_sub_memoph_io(void *hi); +RzILOpEffect *hex_il_op_l4_sub_memopw_io(void *hi); +RzILOpEffect *hex_il_op_l6_memcpy(void *hi); +RzILOpEffect *hex_il_op_m2_acci(void *hi); +RzILOpEffect *hex_il_op_m2_accii(void *hi); +RzILOpEffect *hex_il_op_m2_cmaci_s0(void *hi); +RzILOpEffect *hex_il_op_m2_cmacr_s0(void *hi); +RzILOpEffect *hex_il_op_m2_cmacs_s0(void *hi); +RzILOpEffect *hex_il_op_m2_cmacs_s1(void *hi); +RzILOpEffect *hex_il_op_m2_cmacsc_s0(void *hi); +RzILOpEffect *hex_il_op_m2_cmacsc_s1(void *hi); +RzILOpEffect *hex_il_op_m2_cmpyi_s0(void *hi); +RzILOpEffect *hex_il_op_m2_cmpyr_s0(void *hi); +RzILOpEffect *hex_il_op_m2_cmpyrs_s0(void *hi); +RzILOpEffect *hex_il_op_m2_cmpyrs_s1(void *hi); +RzILOpEffect *hex_il_op_m2_cmpyrsc_s0(void *hi); +RzILOpEffect *hex_il_op_m2_cmpyrsc_s1(void *hi); +RzILOpEffect *hex_il_op_m2_cmpys_s0(void *hi); +RzILOpEffect *hex_il_op_m2_cmpys_s1(void *hi); +RzILOpEffect *hex_il_op_m2_cmpysc_s0(void *hi); +RzILOpEffect *hex_il_op_m2_cmpysc_s1(void *hi); +RzILOpEffect *hex_il_op_m2_cnacs_s0(void *hi); +RzILOpEffect *hex_il_op_m2_cnacs_s1(void *hi); +RzILOpEffect *hex_il_op_m2_cnacsc_s0(void *hi); +RzILOpEffect *hex_il_op_m2_cnacsc_s1(void *hi); +RzILOpEffect *hex_il_op_m2_dpmpyss_acc_s0(void *hi); +RzILOpEffect *hex_il_op_m2_dpmpyss_nac_s0(void *hi); +RzILOpEffect *hex_il_op_m2_dpmpyss_rnd_s0(void *hi); +RzILOpEffect *hex_il_op_m2_dpmpyss_s0(void *hi); +RzILOpEffect *hex_il_op_m2_dpmpyuu_acc_s0(void *hi); +RzILOpEffect *hex_il_op_m2_dpmpyuu_nac_s0(void *hi); +RzILOpEffect *hex_il_op_m2_dpmpyuu_s0(void *hi); +RzILOpEffect *hex_il_op_m2_hmmpyh_rs1(void *hi); +RzILOpEffect *hex_il_op_m2_hmmpyh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_hmmpyl_rs1(void *hi); +RzILOpEffect *hex_il_op_m2_hmmpyl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_maci(void *hi); +RzILOpEffect *hex_il_op_m2_macsin(void *hi); +RzILOpEffect *hex_il_op_m2_macsip(void *hi); +RzILOpEffect *hex_il_op_m2_mmachs_rs0(void *hi); +RzILOpEffect *hex_il_op_m2_mmachs_rs1(void *hi); +RzILOpEffect *hex_il_op_m2_mmachs_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mmachs_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mmacls_rs0(void *hi); +RzILOpEffect *hex_il_op_m2_mmacls_rs1(void *hi); +RzILOpEffect *hex_il_op_m2_mmacls_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mmacls_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mmacuhs_rs0(void *hi); +RzILOpEffect *hex_il_op_m2_mmacuhs_rs1(void *hi); +RzILOpEffect *hex_il_op_m2_mmacuhs_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mmacuhs_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mmaculs_rs0(void *hi); +RzILOpEffect *hex_il_op_m2_mmaculs_rs1(void *hi); +RzILOpEffect *hex_il_op_m2_mmaculs_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mmaculs_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mmpyh_rs0(void *hi); +RzILOpEffect *hex_il_op_m2_mmpyh_rs1(void *hi); +RzILOpEffect *hex_il_op_m2_mmpyh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mmpyh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mmpyl_rs0(void *hi); +RzILOpEffect *hex_il_op_m2_mmpyl_rs1(void *hi); +RzILOpEffect *hex_il_op_m2_mmpyl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mmpyl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mmpyuh_rs0(void *hi); +RzILOpEffect *hex_il_op_m2_mmpyuh_rs1(void *hi); +RzILOpEffect *hex_il_op_m2_mmpyuh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mmpyuh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mmpyul_rs0(void *hi); +RzILOpEffect *hex_il_op_m2_mmpyul_rs1(void *hi); +RzILOpEffect *hex_il_op_m2_mmpyul_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mmpyul_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mnaci(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_acc_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_acc_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_acc_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_acc_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_acc_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_acc_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_acc_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_acc_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_acc_sat_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_acc_sat_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_acc_sat_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_acc_sat_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_acc_sat_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_acc_sat_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_acc_sat_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_acc_sat_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_nac_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_nac_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_nac_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_nac_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_nac_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_nac_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_nac_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_nac_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_nac_sat_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_nac_sat_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_nac_sat_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_nac_sat_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_nac_sat_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_nac_sat_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_nac_sat_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_nac_sat_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_rnd_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_rnd_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_rnd_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_rnd_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_rnd_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_rnd_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_rnd_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_rnd_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_sat_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_sat_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_sat_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_sat_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_sat_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_sat_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_sat_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_sat_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_sat_rnd_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_sat_rnd_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_sat_rnd_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_sat_rnd_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_sat_rnd_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_sat_rnd_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_sat_rnd_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_sat_rnd_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_up(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_up_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpy_up_s1_sat(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_acc_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_acc_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_acc_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_acc_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_acc_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_acc_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_acc_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_acc_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_nac_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_nac_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_nac_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_nac_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_nac_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_nac_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_nac_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_nac_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_rnd_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_rnd_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_rnd_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_rnd_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_rnd_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_rnd_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_rnd_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyd_rnd_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyi(void *hi); +RzILOpEffect *hex_il_op_m2_mpysin(void *hi); +RzILOpEffect *hex_il_op_m2_mpysip(void *hi); +RzILOpEffect *hex_il_op_m2_mpysu_up(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_acc_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_acc_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_acc_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_acc_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_acc_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_acc_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_acc_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_acc_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_nac_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_nac_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_nac_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_nac_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_nac_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_nac_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_nac_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_nac_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyu_up(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_acc_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_acc_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_acc_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_acc_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_acc_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_acc_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_acc_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_acc_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_nac_hh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_nac_hh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_nac_hl_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_nac_hl_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_nac_lh_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_nac_lh_s1(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_nac_ll_s0(void *hi); +RzILOpEffect *hex_il_op_m2_mpyud_nac_ll_s1(void *hi); +RzILOpEffect *hex_il_op_m2_nacci(void *hi); +RzILOpEffect *hex_il_op_m2_naccii(void *hi); +RzILOpEffect *hex_il_op_m2_subacc(void *hi); +RzILOpEffect *hex_il_op_m2_vabsdiffh(void *hi); +RzILOpEffect *hex_il_op_m2_vabsdiffw(void *hi); +RzILOpEffect *hex_il_op_m2_vcmac_s0_sat_i(void *hi); +RzILOpEffect *hex_il_op_m2_vcmac_s0_sat_r(void *hi); +RzILOpEffect *hex_il_op_m2_vcmpy_s0_sat_i(void *hi); +RzILOpEffect *hex_il_op_m2_vcmpy_s0_sat_r(void *hi); +RzILOpEffect *hex_il_op_m2_vcmpy_s1_sat_i(void *hi); +RzILOpEffect *hex_il_op_m2_vcmpy_s1_sat_r(void *hi); +RzILOpEffect *hex_il_op_m2_vdmacs_s0(void *hi); +RzILOpEffect *hex_il_op_m2_vdmacs_s1(void *hi); +RzILOpEffect *hex_il_op_m2_vdmpyrs_s0(void *hi); +RzILOpEffect *hex_il_op_m2_vdmpyrs_s1(void *hi); +RzILOpEffect *hex_il_op_m2_vdmpys_s0(void *hi); +RzILOpEffect *hex_il_op_m2_vdmpys_s1(void *hi); +RzILOpEffect *hex_il_op_m2_vmac2(void *hi); +RzILOpEffect *hex_il_op_m2_vmac2es(void *hi); +RzILOpEffect *hex_il_op_m2_vmac2es_s0(void *hi); +RzILOpEffect *hex_il_op_m2_vmac2es_s1(void *hi); +RzILOpEffect *hex_il_op_m2_vmac2s_s0(void *hi); +RzILOpEffect *hex_il_op_m2_vmac2s_s1(void *hi); +RzILOpEffect *hex_il_op_m2_vmac2su_s0(void *hi); +RzILOpEffect *hex_il_op_m2_vmac2su_s1(void *hi); +RzILOpEffect *hex_il_op_m2_vmpy2es_s0(void *hi); +RzILOpEffect *hex_il_op_m2_vmpy2es_s1(void *hi); +RzILOpEffect *hex_il_op_m2_vmpy2s_s0(void *hi); +RzILOpEffect *hex_il_op_m2_vmpy2s_s0pack(void *hi); +RzILOpEffect *hex_il_op_m2_vmpy2s_s1(void *hi); +RzILOpEffect *hex_il_op_m2_vmpy2s_s1pack(void *hi); +RzILOpEffect *hex_il_op_m2_vmpy2su_s0(void *hi); +RzILOpEffect *hex_il_op_m2_vmpy2su_s1(void *hi); +RzILOpEffect *hex_il_op_m2_vraddh(void *hi); +RzILOpEffect *hex_il_op_m2_vradduh(void *hi); +RzILOpEffect *hex_il_op_m2_vrcmaci_s0(void *hi); +RzILOpEffect *hex_il_op_m2_vrcmaci_s0c(void *hi); +RzILOpEffect *hex_il_op_m2_vrcmacr_s0(void *hi); +RzILOpEffect *hex_il_op_m2_vrcmacr_s0c(void *hi); +RzILOpEffect *hex_il_op_m2_vrcmpyi_s0(void *hi); +RzILOpEffect *hex_il_op_m2_vrcmpyi_s0c(void *hi); +RzILOpEffect *hex_il_op_m2_vrcmpyr_s0(void *hi); +RzILOpEffect *hex_il_op_m2_vrcmpyr_s0c(void *hi); +RzILOpEffect *hex_il_op_m2_vrcmpys_acc_s1_h(void *hi); +RzILOpEffect *hex_il_op_m2_vrcmpys_acc_s1_l(void *hi); +RzILOpEffect *hex_il_op_m2_vrcmpys_s1_h(void *hi); +RzILOpEffect *hex_il_op_m2_vrcmpys_s1_l(void *hi); +RzILOpEffect *hex_il_op_m2_vrcmpys_s1rp_h(void *hi); +RzILOpEffect *hex_il_op_m2_vrcmpys_s1rp_l(void *hi); +RzILOpEffect *hex_il_op_m2_vrmac_s0(void *hi); +RzILOpEffect *hex_il_op_m2_vrmpy_s0(void *hi); +RzILOpEffect *hex_il_op_m2_xor_xacc(void *hi); +RzILOpEffect *hex_il_op_m4_and_and(void *hi); +RzILOpEffect *hex_il_op_m4_and_andn(void *hi); +RzILOpEffect *hex_il_op_m4_and_or(void *hi); +RzILOpEffect *hex_il_op_m4_and_xor(void *hi); +RzILOpEffect *hex_il_op_m4_cmpyi_wh(void *hi); +RzILOpEffect *hex_il_op_m4_cmpyi_whc(void *hi); +RzILOpEffect *hex_il_op_m4_cmpyr_wh(void *hi); +RzILOpEffect *hex_il_op_m4_cmpyr_whc(void *hi); +RzILOpEffect *hex_il_op_m4_mac_up_s1_sat(void *hi); +RzILOpEffect *hex_il_op_m4_mpyri_addi(void *hi); +RzILOpEffect *hex_il_op_m4_mpyri_addr(void *hi); +RzILOpEffect *hex_il_op_m4_mpyri_addr_u2(void *hi); +RzILOpEffect *hex_il_op_m4_mpyrr_addi(void *hi); +RzILOpEffect *hex_il_op_m4_mpyrr_addr(void *hi); +RzILOpEffect *hex_il_op_m4_nac_up_s1_sat(void *hi); +RzILOpEffect *hex_il_op_m4_or_and(void *hi); +RzILOpEffect *hex_il_op_m4_or_andn(void *hi); +RzILOpEffect *hex_il_op_m4_or_or(void *hi); +RzILOpEffect *hex_il_op_m4_or_xor(void *hi); +RzILOpEffect *hex_il_op_m4_pmpyw(void *hi); +RzILOpEffect *hex_il_op_m4_pmpyw_acc(void *hi); +RzILOpEffect *hex_il_op_m4_vpmpyh(void *hi); +RzILOpEffect *hex_il_op_m4_vpmpyh_acc(void *hi); +RzILOpEffect *hex_il_op_m4_vrmpyeh_acc_s0(void *hi); +RzILOpEffect *hex_il_op_m4_vrmpyeh_acc_s1(void *hi); +RzILOpEffect *hex_il_op_m4_vrmpyeh_s0(void *hi); +RzILOpEffect *hex_il_op_m4_vrmpyeh_s1(void *hi); +RzILOpEffect *hex_il_op_m4_vrmpyoh_acc_s0(void *hi); +RzILOpEffect *hex_il_op_m4_vrmpyoh_acc_s1(void *hi); +RzILOpEffect *hex_il_op_m4_vrmpyoh_s0(void *hi); +RzILOpEffect *hex_il_op_m4_vrmpyoh_s1(void *hi); +RzILOpEffect *hex_il_op_m4_xor_and(void *hi); +RzILOpEffect *hex_il_op_m4_xor_andn(void *hi); +RzILOpEffect *hex_il_op_m4_xor_or(void *hi); +RzILOpEffect *hex_il_op_m4_xor_xacc(void *hi); +RzILOpEffect *hex_il_op_m5_vdmacbsu(void *hi); +RzILOpEffect *hex_il_op_m5_vdmpybsu(void *hi); +RzILOpEffect *hex_il_op_m5_vmacbsu(void *hi); +RzILOpEffect *hex_il_op_m5_vmacbuu(void *hi); +RzILOpEffect *hex_il_op_m5_vmpybsu(void *hi); +RzILOpEffect *hex_il_op_m5_vmpybuu(void *hi); +RzILOpEffect *hex_il_op_m5_vrmacbsu(void *hi); +RzILOpEffect *hex_il_op_m5_vrmacbuu(void *hi); +RzILOpEffect *hex_il_op_m5_vrmpybsu(void *hi); +RzILOpEffect *hex_il_op_m5_vrmpybuu(void *hi); +RzILOpEffect *hex_il_op_m6_vabsdiffb(void *hi); +RzILOpEffect *hex_il_op_m6_vabsdiffub(void *hi); +RzILOpEffect *hex_il_op_m7_dcmpyiw(void *hi); +RzILOpEffect *hex_il_op_m7_dcmpyiw_acc(void *hi); +RzILOpEffect *hex_il_op_m7_dcmpyiwc(void *hi); +RzILOpEffect *hex_il_op_m7_dcmpyiwc_acc(void *hi); +RzILOpEffect *hex_il_op_m7_dcmpyrw(void *hi); +RzILOpEffect *hex_il_op_m7_dcmpyrw_acc(void *hi); +RzILOpEffect *hex_il_op_m7_dcmpyrwc(void *hi); +RzILOpEffect *hex_il_op_m7_dcmpyrwc_acc(void *hi); +RzILOpEffect *hex_il_op_m7_wcmpyiw(void *hi); +RzILOpEffect *hex_il_op_m7_wcmpyiw_rnd(void *hi); +RzILOpEffect *hex_il_op_m7_wcmpyiwc(void *hi); +RzILOpEffect *hex_il_op_m7_wcmpyiwc_rnd(void *hi); +RzILOpEffect *hex_il_op_m7_wcmpyrw(void *hi); +RzILOpEffect *hex_il_op_m7_wcmpyrw_rnd(void *hi); +RzILOpEffect *hex_il_op_m7_wcmpyrwc(void *hi); +RzILOpEffect *hex_il_op_m7_wcmpyrwc_rnd(void *hi); +RzILOpEffect *hex_il_op_ps_loadrbabs(void *hi); +RzILOpEffect *hex_il_op_ps_loadrdabs(void *hi); +RzILOpEffect *hex_il_op_ps_loadrhabs(void *hi); +RzILOpEffect *hex_il_op_ps_loadriabs(void *hi); +RzILOpEffect *hex_il_op_ps_loadrubabs(void *hi); +RzILOpEffect *hex_il_op_ps_loadruhabs(void *hi); +RzILOpEffect *hex_il_op_ps_storerbabs(void *hi); +RzILOpEffect *hex_il_op_ps_storerbnewabs(void *hi); +RzILOpEffect *hex_il_op_ps_storerdabs(void *hi); +RzILOpEffect *hex_il_op_ps_storerfabs(void *hi); +RzILOpEffect *hex_il_op_ps_storerhabs(void *hi); +RzILOpEffect *hex_il_op_ps_storerhnewabs(void *hi); +RzILOpEffect *hex_il_op_ps_storeriabs(void *hi); +RzILOpEffect *hex_il_op_ps_storerinewabs(void *hi); +RzILOpEffect *hex_il_op_ps_trap1(void *hi); +RzILOpEffect *hex_il_op_r6_release_at_vi(void *hi); +RzILOpEffect *hex_il_op_r6_release_st_vi(void *hi); +RzILOpEffect *hex_il_op_s2_addasl_rrri(void *hi); +RzILOpEffect *hex_il_op_s2_allocframe(void *hi); +RzILOpEffect *hex_il_op_s2_asl_i_p(void *hi); +RzILOpEffect *hex_il_op_s2_asl_i_p_acc(void *hi); +RzILOpEffect *hex_il_op_s2_asl_i_p_and(void *hi); +RzILOpEffect *hex_il_op_s2_asl_i_p_nac(void *hi); +RzILOpEffect *hex_il_op_s2_asl_i_p_or(void *hi); +RzILOpEffect *hex_il_op_s2_asl_i_p_xacc(void *hi); +RzILOpEffect *hex_il_op_s2_asl_i_r(void *hi); +RzILOpEffect *hex_il_op_s2_asl_i_r_acc(void *hi); +RzILOpEffect *hex_il_op_s2_asl_i_r_and(void *hi); +RzILOpEffect *hex_il_op_s2_asl_i_r_nac(void *hi); +RzILOpEffect *hex_il_op_s2_asl_i_r_or(void *hi); +RzILOpEffect *hex_il_op_s2_asl_i_r_sat(void *hi); +RzILOpEffect *hex_il_op_s2_asl_i_r_xacc(void *hi); +RzILOpEffect *hex_il_op_s2_asl_i_vh(void *hi); +RzILOpEffect *hex_il_op_s2_asl_i_vw(void *hi); +RzILOpEffect *hex_il_op_s2_asl_r_p(void *hi); +RzILOpEffect *hex_il_op_s2_asl_r_p_acc(void *hi); +RzILOpEffect *hex_il_op_s2_asl_r_p_and(void *hi); +RzILOpEffect *hex_il_op_s2_asl_r_p_nac(void *hi); +RzILOpEffect *hex_il_op_s2_asl_r_p_or(void *hi); +RzILOpEffect *hex_il_op_s2_asl_r_p_xor(void *hi); +RzILOpEffect *hex_il_op_s2_asl_r_r(void *hi); +RzILOpEffect *hex_il_op_s2_asl_r_r_acc(void *hi); +RzILOpEffect *hex_il_op_s2_asl_r_r_and(void *hi); +RzILOpEffect *hex_il_op_s2_asl_r_r_nac(void *hi); +RzILOpEffect *hex_il_op_s2_asl_r_r_or(void *hi); +RzILOpEffect *hex_il_op_s2_asl_r_r_sat(void *hi); +RzILOpEffect *hex_il_op_s2_asl_r_vh(void *hi); +RzILOpEffect *hex_il_op_s2_asl_r_vw(void *hi); +RzILOpEffect *hex_il_op_s2_asr_i_p(void *hi); +RzILOpEffect *hex_il_op_s2_asr_i_p_acc(void *hi); +RzILOpEffect *hex_il_op_s2_asr_i_p_and(void *hi); +RzILOpEffect *hex_il_op_s2_asr_i_p_nac(void *hi); +RzILOpEffect *hex_il_op_s2_asr_i_p_or(void *hi); +RzILOpEffect *hex_il_op_s2_asr_i_p_rnd(void *hi); +RzILOpEffect *hex_il_op_s2_asr_i_r(void *hi); +RzILOpEffect *hex_il_op_s2_asr_i_r_acc(void *hi); +RzILOpEffect *hex_il_op_s2_asr_i_r_and(void *hi); +RzILOpEffect *hex_il_op_s2_asr_i_r_nac(void *hi); +RzILOpEffect *hex_il_op_s2_asr_i_r_or(void *hi); +RzILOpEffect *hex_il_op_s2_asr_i_r_rnd(void *hi); +RzILOpEffect *hex_il_op_s2_asr_i_svw_trun(void *hi); +RzILOpEffect *hex_il_op_s2_asr_i_vh(void *hi); +RzILOpEffect *hex_il_op_s2_asr_i_vw(void *hi); +RzILOpEffect *hex_il_op_s2_asr_r_p(void *hi); +RzILOpEffect *hex_il_op_s2_asr_r_p_acc(void *hi); +RzILOpEffect *hex_il_op_s2_asr_r_p_and(void *hi); +RzILOpEffect *hex_il_op_s2_asr_r_p_nac(void *hi); +RzILOpEffect *hex_il_op_s2_asr_r_p_or(void *hi); +RzILOpEffect *hex_il_op_s2_asr_r_p_xor(void *hi); +RzILOpEffect *hex_il_op_s2_asr_r_r(void *hi); +RzILOpEffect *hex_il_op_s2_asr_r_r_acc(void *hi); +RzILOpEffect *hex_il_op_s2_asr_r_r_and(void *hi); +RzILOpEffect *hex_il_op_s2_asr_r_r_nac(void *hi); +RzILOpEffect *hex_il_op_s2_asr_r_r_or(void *hi); +RzILOpEffect *hex_il_op_s2_asr_r_r_sat(void *hi); +RzILOpEffect *hex_il_op_s2_asr_r_svw_trun(void *hi); +RzILOpEffect *hex_il_op_s2_asr_r_vh(void *hi); +RzILOpEffect *hex_il_op_s2_asr_r_vw(void *hi); +RzILOpEffect *hex_il_op_s2_brev(void *hi); +RzILOpEffect *hex_il_op_s2_brevp(void *hi); +RzILOpEffect *hex_il_op_s2_cabacdecbin(void *hi); +RzILOpEffect *hex_il_op_s2_cl0(void *hi); +RzILOpEffect *hex_il_op_s2_cl0p(void *hi); +RzILOpEffect *hex_il_op_s2_cl1(void *hi); +RzILOpEffect *hex_il_op_s2_cl1p(void *hi); +RzILOpEffect *hex_il_op_s2_clb(void *hi); +RzILOpEffect *hex_il_op_s2_clbnorm(void *hi); +RzILOpEffect *hex_il_op_s2_clbp(void *hi); +RzILOpEffect *hex_il_op_s2_clrbit_i(void *hi); +RzILOpEffect *hex_il_op_s2_clrbit_r(void *hi); +RzILOpEffect *hex_il_op_s2_ct0(void *hi); +RzILOpEffect *hex_il_op_s2_ct0p(void *hi); +RzILOpEffect *hex_il_op_s2_ct1(void *hi); +RzILOpEffect *hex_il_op_s2_ct1p(void *hi); +RzILOpEffect *hex_il_op_s2_deinterleave(void *hi); +RzILOpEffect *hex_il_op_s2_extractu(void *hi); +RzILOpEffect *hex_il_op_s2_extractu_rp(void *hi); +RzILOpEffect *hex_il_op_s2_extractup(void *hi); +RzILOpEffect *hex_il_op_s2_extractup_rp(void *hi); +RzILOpEffect *hex_il_op_s2_insert(void *hi); +RzILOpEffect *hex_il_op_s2_insert_rp(void *hi); +RzILOpEffect *hex_il_op_s2_insertp(void *hi); +RzILOpEffect *hex_il_op_s2_insertp_rp(void *hi); +RzILOpEffect *hex_il_op_s2_interleave(void *hi); +RzILOpEffect *hex_il_op_s2_lfsp(void *hi); +RzILOpEffect *hex_il_op_s2_lsl_r_p(void *hi); +RzILOpEffect *hex_il_op_s2_lsl_r_p_acc(void *hi); +RzILOpEffect *hex_il_op_s2_lsl_r_p_and(void *hi); +RzILOpEffect *hex_il_op_s2_lsl_r_p_nac(void *hi); +RzILOpEffect *hex_il_op_s2_lsl_r_p_or(void *hi); +RzILOpEffect *hex_il_op_s2_lsl_r_p_xor(void *hi); +RzILOpEffect *hex_il_op_s2_lsl_r_r(void *hi); +RzILOpEffect *hex_il_op_s2_lsl_r_r_acc(void *hi); +RzILOpEffect *hex_il_op_s2_lsl_r_r_and(void *hi); +RzILOpEffect *hex_il_op_s2_lsl_r_r_nac(void *hi); +RzILOpEffect *hex_il_op_s2_lsl_r_r_or(void *hi); +RzILOpEffect *hex_il_op_s2_lsl_r_vh(void *hi); +RzILOpEffect *hex_il_op_s2_lsl_r_vw(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_i_p(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_i_p_acc(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_i_p_and(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_i_p_nac(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_i_p_or(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_i_p_xacc(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_i_r(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_i_r_acc(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_i_r_and(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_i_r_nac(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_i_r_or(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_i_r_xacc(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_i_vh(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_i_vw(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_r_p(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_r_p_acc(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_r_p_and(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_r_p_nac(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_r_p_or(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_r_p_xor(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_r_r(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_r_r_acc(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_r_r_and(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_r_r_nac(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_r_r_or(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_r_vh(void *hi); +RzILOpEffect *hex_il_op_s2_lsr_r_vw(void *hi); +RzILOpEffect *hex_il_op_s2_mask(void *hi); +RzILOpEffect *hex_il_op_s2_packhl(void *hi); +RzILOpEffect *hex_il_op_s2_parityp(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerbf_io(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerbf_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerbfnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerbnewf_io(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerbnewf_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerbnewfnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerbnewt_io(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerbnewt_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerbnewtnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerbt_io(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerbt_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerbtnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerdf_io(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerdf_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerdfnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerdt_io(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerdt_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerdtnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerff_io(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerff_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerffnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerft_io(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerft_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerftnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerhf_io(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerhf_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerhfnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerhnewf_io(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerhnewf_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerhnewfnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerhnewt_io(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerhnewt_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerhnewtnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerht_io(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerht_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerhtnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerif_io(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerif_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerifnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerinewf_io(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerinewf_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerinewfnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerinewt_io(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerinewt_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerinewtnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerit_io(void *hi); +RzILOpEffect *hex_il_op_s2_pstorerit_pi(void *hi); +RzILOpEffect *hex_il_op_s2_pstoreritnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_setbit_i(void *hi); +RzILOpEffect *hex_il_op_s2_setbit_r(void *hi); +RzILOpEffect *hex_il_op_s2_shuffeb(void *hi); +RzILOpEffect *hex_il_op_s2_shuffeh(void *hi); +RzILOpEffect *hex_il_op_s2_shuffob(void *hi); +RzILOpEffect *hex_il_op_s2_shuffoh(void *hi); +RzILOpEffect *hex_il_op_s2_storerb_io(void *hi); +RzILOpEffect *hex_il_op_s2_storerb_pbr(void *hi); +RzILOpEffect *hex_il_op_s2_storerb_pci(void *hi); +RzILOpEffect *hex_il_op_s2_storerb_pcr(void *hi); +RzILOpEffect *hex_il_op_s2_storerb_pi(void *hi); +RzILOpEffect *hex_il_op_s2_storerb_pr(void *hi); +RzILOpEffect *hex_il_op_s2_storerbgp(void *hi); +RzILOpEffect *hex_il_op_s2_storerbnew_io(void *hi); +RzILOpEffect *hex_il_op_s2_storerbnew_pbr(void *hi); +RzILOpEffect *hex_il_op_s2_storerbnew_pci(void *hi); +RzILOpEffect *hex_il_op_s2_storerbnew_pcr(void *hi); +RzILOpEffect *hex_il_op_s2_storerbnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_storerbnew_pr(void *hi); +RzILOpEffect *hex_il_op_s2_storerbnewgp(void *hi); +RzILOpEffect *hex_il_op_s2_storerd_io(void *hi); +RzILOpEffect *hex_il_op_s2_storerd_pbr(void *hi); +RzILOpEffect *hex_il_op_s2_storerd_pci(void *hi); +RzILOpEffect *hex_il_op_s2_storerd_pcr(void *hi); +RzILOpEffect *hex_il_op_s2_storerd_pi(void *hi); +RzILOpEffect *hex_il_op_s2_storerd_pr(void *hi); +RzILOpEffect *hex_il_op_s2_storerdgp(void *hi); +RzILOpEffect *hex_il_op_s2_storerf_io(void *hi); +RzILOpEffect *hex_il_op_s2_storerf_pbr(void *hi); +RzILOpEffect *hex_il_op_s2_storerf_pci(void *hi); +RzILOpEffect *hex_il_op_s2_storerf_pcr(void *hi); +RzILOpEffect *hex_il_op_s2_storerf_pi(void *hi); +RzILOpEffect *hex_il_op_s2_storerf_pr(void *hi); +RzILOpEffect *hex_il_op_s2_storerfgp(void *hi); +RzILOpEffect *hex_il_op_s2_storerh_io(void *hi); +RzILOpEffect *hex_il_op_s2_storerh_pbr(void *hi); +RzILOpEffect *hex_il_op_s2_storerh_pci(void *hi); +RzILOpEffect *hex_il_op_s2_storerh_pcr(void *hi); +RzILOpEffect *hex_il_op_s2_storerh_pi(void *hi); +RzILOpEffect *hex_il_op_s2_storerh_pr(void *hi); +RzILOpEffect *hex_il_op_s2_storerhgp(void *hi); +RzILOpEffect *hex_il_op_s2_storerhnew_io(void *hi); +RzILOpEffect *hex_il_op_s2_storerhnew_pbr(void *hi); +RzILOpEffect *hex_il_op_s2_storerhnew_pci(void *hi); +RzILOpEffect *hex_il_op_s2_storerhnew_pcr(void *hi); +RzILOpEffect *hex_il_op_s2_storerhnew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_storerhnew_pr(void *hi); +RzILOpEffect *hex_il_op_s2_storerhnewgp(void *hi); +RzILOpEffect *hex_il_op_s2_storeri_io(void *hi); +RzILOpEffect *hex_il_op_s2_storeri_pbr(void *hi); +RzILOpEffect *hex_il_op_s2_storeri_pci(void *hi); +RzILOpEffect *hex_il_op_s2_storeri_pcr(void *hi); +RzILOpEffect *hex_il_op_s2_storeri_pi(void *hi); +RzILOpEffect *hex_il_op_s2_storeri_pr(void *hi); +RzILOpEffect *hex_il_op_s2_storerigp(void *hi); +RzILOpEffect *hex_il_op_s2_storerinew_io(void *hi); +RzILOpEffect *hex_il_op_s2_storerinew_pbr(void *hi); +RzILOpEffect *hex_il_op_s2_storerinew_pci(void *hi); +RzILOpEffect *hex_il_op_s2_storerinew_pcr(void *hi); +RzILOpEffect *hex_il_op_s2_storerinew_pi(void *hi); +RzILOpEffect *hex_il_op_s2_storerinew_pr(void *hi); +RzILOpEffect *hex_il_op_s2_storerinewgp(void *hi); +RzILOpEffect *hex_il_op_s2_storew_locked(void *hi); +RzILOpEffect *hex_il_op_s2_storew_rl_at_vi(void *hi); +RzILOpEffect *hex_il_op_s2_storew_rl_st_vi(void *hi); +RzILOpEffect *hex_il_op_s2_svsathb(void *hi); +RzILOpEffect *hex_il_op_s2_svsathub(void *hi); +RzILOpEffect *hex_il_op_s2_tableidxb(void *hi); +RzILOpEffect *hex_il_op_s2_tableidxd(void *hi); +RzILOpEffect *hex_il_op_s2_tableidxh(void *hi); +RzILOpEffect *hex_il_op_s2_tableidxw(void *hi); +RzILOpEffect *hex_il_op_s2_togglebit_i(void *hi); +RzILOpEffect *hex_il_op_s2_togglebit_r(void *hi); +RzILOpEffect *hex_il_op_s2_tstbit_i(void *hi); +RzILOpEffect *hex_il_op_s2_tstbit_r(void *hi); +RzILOpEffect *hex_il_op_s2_valignib(void *hi); +RzILOpEffect *hex_il_op_s2_valignrb(void *hi); +RzILOpEffect *hex_il_op_s2_vcnegh(void *hi); +RzILOpEffect *hex_il_op_s2_vcrotate(void *hi); +RzILOpEffect *hex_il_op_s2_vrcnegh(void *hi); +RzILOpEffect *hex_il_op_s2_vrndpackwh(void *hi); +RzILOpEffect *hex_il_op_s2_vrndpackwhs(void *hi); +RzILOpEffect *hex_il_op_s2_vsathb(void *hi); +RzILOpEffect *hex_il_op_s2_vsathb_nopack(void *hi); +RzILOpEffect *hex_il_op_s2_vsathub(void *hi); +RzILOpEffect *hex_il_op_s2_vsathub_nopack(void *hi); +RzILOpEffect *hex_il_op_s2_vsatwh(void *hi); +RzILOpEffect *hex_il_op_s2_vsatwh_nopack(void *hi); +RzILOpEffect *hex_il_op_s2_vsatwuh(void *hi); +RzILOpEffect *hex_il_op_s2_vsatwuh_nopack(void *hi); +RzILOpEffect *hex_il_op_s2_vsplatrb(void *hi); +RzILOpEffect *hex_il_op_s2_vsplatrh(void *hi); +RzILOpEffect *hex_il_op_s2_vspliceib(void *hi); +RzILOpEffect *hex_il_op_s2_vsplicerb(void *hi); +RzILOpEffect *hex_il_op_s2_vsxtbh(void *hi); +RzILOpEffect *hex_il_op_s2_vsxthw(void *hi); +RzILOpEffect *hex_il_op_s2_vtrunehb(void *hi); +RzILOpEffect *hex_il_op_s2_vtrunewh(void *hi); +RzILOpEffect *hex_il_op_s2_vtrunohb(void *hi); +RzILOpEffect *hex_il_op_s2_vtrunowh(void *hi); +RzILOpEffect *hex_il_op_s2_vzxtbh(void *hi); +RzILOpEffect *hex_il_op_s2_vzxthw(void *hi); +RzILOpEffect *hex_il_op_s4_addaddi(void *hi); +RzILOpEffect *hex_il_op_s4_addi_asl_ri(void *hi); +RzILOpEffect *hex_il_op_s4_addi_lsr_ri(void *hi); +RzILOpEffect *hex_il_op_s4_andi_asl_ri(void *hi); +RzILOpEffect *hex_il_op_s4_andi_lsr_ri(void *hi); +RzILOpEffect *hex_il_op_s4_clbaddi(void *hi); +RzILOpEffect *hex_il_op_s4_clbpaddi(void *hi); +RzILOpEffect *hex_il_op_s4_clbpnorm(void *hi); +RzILOpEffect *hex_il_op_s4_extract(void *hi); +RzILOpEffect *hex_il_op_s4_extract_rp(void *hi); +RzILOpEffect *hex_il_op_s4_extractp(void *hi); +RzILOpEffect *hex_il_op_s4_extractp_rp(void *hi); +RzILOpEffect *hex_il_op_s4_lsli(void *hi); +RzILOpEffect *hex_il_op_s4_ntstbit_i(void *hi); +RzILOpEffect *hex_il_op_s4_ntstbit_r(void *hi); +RzILOpEffect *hex_il_op_s4_or_andi(void *hi); +RzILOpEffect *hex_il_op_s4_or_andix(void *hi); +RzILOpEffect *hex_il_op_s4_or_ori(void *hi); +RzILOpEffect *hex_il_op_s4_ori_asl_ri(void *hi); +RzILOpEffect *hex_il_op_s4_ori_lsr_ri(void *hi); +RzILOpEffect *hex_il_op_s4_parity(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbf_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbf_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbfnew_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbfnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbfnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbnewf_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbnewf_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbnewfnew_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbnewfnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbnewfnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbnewt_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbnewt_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbnewtnew_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbnewtnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbnewtnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbt_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbt_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbtnew_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbtnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerbtnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerdf_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerdf_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerdfnew_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerdfnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerdfnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerdt_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerdt_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerdtnew_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerdtnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerdtnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerff_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerff_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerffnew_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerffnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerffnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerft_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerft_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerftnew_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerftnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerftnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhf_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhf_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhfnew_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhfnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhfnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhnewf_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhnewf_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhnewfnew_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhnewfnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhnewfnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhnewt_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhnewt_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhnewtnew_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhnewtnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhnewtnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerht_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerht_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhtnew_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhtnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerhtnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerif_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerif_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerifnew_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerifnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerifnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerinewf_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerinewf_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerinewfnew_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerinewfnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerinewfnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerinewt_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerinewt_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerinewtnew_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerinewtnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerinewtnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerit_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstorerit_rr(void *hi); +RzILOpEffect *hex_il_op_s4_pstoreritnew_abs(void *hi); +RzILOpEffect *hex_il_op_s4_pstoreritnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_pstoreritnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_stored_locked(void *hi); +RzILOpEffect *hex_il_op_s4_stored_rl_at_vi(void *hi); +RzILOpEffect *hex_il_op_s4_stored_rl_st_vi(void *hi); +RzILOpEffect *hex_il_op_s4_storeirb_io(void *hi); +RzILOpEffect *hex_il_op_s4_storeirbf_io(void *hi); +RzILOpEffect *hex_il_op_s4_storeirbfnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_storeirbt_io(void *hi); +RzILOpEffect *hex_il_op_s4_storeirbtnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_storeirh_io(void *hi); +RzILOpEffect *hex_il_op_s4_storeirhf_io(void *hi); +RzILOpEffect *hex_il_op_s4_storeirhfnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_storeirht_io(void *hi); +RzILOpEffect *hex_il_op_s4_storeirhtnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_storeiri_io(void *hi); +RzILOpEffect *hex_il_op_s4_storeirif_io(void *hi); +RzILOpEffect *hex_il_op_s4_storeirifnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_storeirit_io(void *hi); +RzILOpEffect *hex_il_op_s4_storeiritnew_io(void *hi); +RzILOpEffect *hex_il_op_s4_storerb_ap(void *hi); +RzILOpEffect *hex_il_op_s4_storerb_rr(void *hi); +RzILOpEffect *hex_il_op_s4_storerb_ur(void *hi); +RzILOpEffect *hex_il_op_s4_storerbnew_ap(void *hi); +RzILOpEffect *hex_il_op_s4_storerbnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_storerbnew_ur(void *hi); +RzILOpEffect *hex_il_op_s4_storerd_ap(void *hi); +RzILOpEffect *hex_il_op_s4_storerd_rr(void *hi); +RzILOpEffect *hex_il_op_s4_storerd_ur(void *hi); +RzILOpEffect *hex_il_op_s4_storerf_ap(void *hi); +RzILOpEffect *hex_il_op_s4_storerf_rr(void *hi); +RzILOpEffect *hex_il_op_s4_storerf_ur(void *hi); +RzILOpEffect *hex_il_op_s4_storerh_ap(void *hi); +RzILOpEffect *hex_il_op_s4_storerh_rr(void *hi); +RzILOpEffect *hex_il_op_s4_storerh_ur(void *hi); +RzILOpEffect *hex_il_op_s4_storerhnew_ap(void *hi); +RzILOpEffect *hex_il_op_s4_storerhnew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_storerhnew_ur(void *hi); +RzILOpEffect *hex_il_op_s4_storeri_ap(void *hi); +RzILOpEffect *hex_il_op_s4_storeri_rr(void *hi); +RzILOpEffect *hex_il_op_s4_storeri_ur(void *hi); +RzILOpEffect *hex_il_op_s4_storerinew_ap(void *hi); +RzILOpEffect *hex_il_op_s4_storerinew_rr(void *hi); +RzILOpEffect *hex_il_op_s4_storerinew_ur(void *hi); +RzILOpEffect *hex_il_op_s4_subaddi(void *hi); +RzILOpEffect *hex_il_op_s4_subi_asl_ri(void *hi); +RzILOpEffect *hex_il_op_s4_subi_lsr_ri(void *hi); +RzILOpEffect *hex_il_op_s4_vrcrotate(void *hi); +RzILOpEffect *hex_il_op_s4_vrcrotate_acc(void *hi); +RzILOpEffect *hex_il_op_s4_vxaddsubh(void *hi); +RzILOpEffect *hex_il_op_s4_vxaddsubhr(void *hi); +RzILOpEffect *hex_il_op_s4_vxaddsubw(void *hi); +RzILOpEffect *hex_il_op_s4_vxsubaddh(void *hi); +RzILOpEffect *hex_il_op_s4_vxsubaddhr(void *hi); +RzILOpEffect *hex_il_op_s4_vxsubaddw(void *hi); +RzILOpEffect *hex_il_op_s5_asrhub_rnd_sat(void *hi); +RzILOpEffect *hex_il_op_s5_asrhub_sat(void *hi); +RzILOpEffect *hex_il_op_s5_popcountp(void *hi); +RzILOpEffect *hex_il_op_s5_vasrhrnd(void *hi); +RzILOpEffect *hex_il_op_s6_rol_i_p(void *hi); +RzILOpEffect *hex_il_op_s6_rol_i_p_acc(void *hi); +RzILOpEffect *hex_il_op_s6_rol_i_p_and(void *hi); +RzILOpEffect *hex_il_op_s6_rol_i_p_nac(void *hi); +RzILOpEffect *hex_il_op_s6_rol_i_p_or(void *hi); +RzILOpEffect *hex_il_op_s6_rol_i_p_xacc(void *hi); +RzILOpEffect *hex_il_op_s6_rol_i_r(void *hi); +RzILOpEffect *hex_il_op_s6_rol_i_r_acc(void *hi); +RzILOpEffect *hex_il_op_s6_rol_i_r_and(void *hi); +RzILOpEffect *hex_il_op_s6_rol_i_r_nac(void *hi); +RzILOpEffect *hex_il_op_s6_rol_i_r_or(void *hi); +RzILOpEffect *hex_il_op_s6_rol_i_r_xacc(void *hi); +RzILOpEffect *hex_il_op_s6_vsplatrbp(void *hi); +RzILOpEffect *hex_il_op_s6_vtrunehb_ppp(void *hi); +RzILOpEffect *hex_il_op_s6_vtrunohb_ppp(void *hi); +RzILOpEffect *hex_il_op_v6_extractw(void *hi); +RzILOpEffect *hex_il_op_v6_lvsplatb(void *hi); +RzILOpEffect *hex_il_op_v6_lvsplath(void *hi); +RzILOpEffect *hex_il_op_v6_lvsplatw(void *hi); +RzILOpEffect *hex_il_op_v6_pred_and(void *hi); +RzILOpEffect *hex_il_op_v6_pred_and_n(void *hi); +RzILOpEffect *hex_il_op_v6_pred_not(void *hi); +RzILOpEffect *hex_il_op_v6_pred_or(void *hi); +RzILOpEffect *hex_il_op_v6_pred_or_n(void *hi); +RzILOpEffect *hex_il_op_v6_pred_scalar2(void *hi); +RzILOpEffect *hex_il_op_v6_pred_scalar2v2(void *hi); +RzILOpEffect *hex_il_op_v6_pred_xor(void *hi); +RzILOpEffect *hex_il_op_v6_shuffeqh(void *hi); +RzILOpEffect *hex_il_op_v6_shuffeqw(void *hi); +RzILOpEffect *hex_il_op_v6_v6mpyhubs10(void *hi); +RzILOpEffect *hex_il_op_v6_v6mpyhubs10_vxx(void *hi); +RzILOpEffect *hex_il_op_v6_v6mpyvubs10(void *hi); +RzILOpEffect *hex_il_op_v6_v6mpyvubs10_vxx(void *hi); +RzILOpEffect *hex_il_op_v6_vl32ub_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32ub_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32ub_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_cur_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_cur_npred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_cur_npred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_cur_npred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_cur_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_cur_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_cur_pred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_cur_pred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_cur_pred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_npred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_npred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_npred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_npred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_npred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_npred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_pred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_pred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_pred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_npred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_npred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_npred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_pred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_pred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_pred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_npred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_npred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_npred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_pred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_pred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_pred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_pred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_pred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_pred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_tmp_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_tmp_npred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_tmp_npred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_tmp_npred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_tmp_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_tmp_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_tmp_pred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_tmp_pred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vl32b_tmp_pred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32ub_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32ub_npred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32ub_npred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32ub_npred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32ub_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32ub_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32ub_pred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32ub_pred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32ub_pred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_new_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_new_npred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_new_npred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_new_npred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_new_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_new_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_new_pred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_new_pred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_new_pred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_npred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_npred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_npred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nqpred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nqpred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nqpred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_npred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_npred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_npred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_pred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_pred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_pred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_npred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_npred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_npred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_nqpred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_nqpred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_nqpred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_pred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_pred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_pred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_qpred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_qpred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_nt_qpred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_pred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_pred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_pred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_qpred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_qpred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_qpred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_srls_ai(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_srls_pi(void *hi); +RzILOpEffect *hex_il_op_v6_vs32b_srls_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_vabs_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vabs_sf(void *hi); +RzILOpEffect *hex_il_op_v6_vabsb(void *hi); +RzILOpEffect *hex_il_op_v6_vabsb_sat(void *hi); +RzILOpEffect *hex_il_op_v6_vabsdiffh(void *hi); +RzILOpEffect *hex_il_op_v6_vabsdiffub(void *hi); +RzILOpEffect *hex_il_op_v6_vabsdiffuh(void *hi); +RzILOpEffect *hex_il_op_v6_vabsdiffw(void *hi); +RzILOpEffect *hex_il_op_v6_vabsh(void *hi); +RzILOpEffect *hex_il_op_v6_vabsh_sat(void *hi); +RzILOpEffect *hex_il_op_v6_vabsw(void *hi); +RzILOpEffect *hex_il_op_v6_vabsw_sat(void *hi); +RzILOpEffect *hex_il_op_v6_vadd_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vadd_hf_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vadd_qf16(void *hi); +RzILOpEffect *hex_il_op_v6_vadd_qf16_mix(void *hi); +RzILOpEffect *hex_il_op_v6_vadd_qf32(void *hi); +RzILOpEffect *hex_il_op_v6_vadd_qf32_mix(void *hi); +RzILOpEffect *hex_il_op_v6_vadd_sf(void *hi); +RzILOpEffect *hex_il_op_v6_vadd_sf_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vadd_sf_sf(void *hi); +RzILOpEffect *hex_il_op_v6_vaddb(void *hi); +RzILOpEffect *hex_il_op_v6_vaddb_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vaddbnq(void *hi); +RzILOpEffect *hex_il_op_v6_vaddbq(void *hi); +RzILOpEffect *hex_il_op_v6_vaddbsat(void *hi); +RzILOpEffect *hex_il_op_v6_vaddbsat_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vaddcarry(void *hi); +RzILOpEffect *hex_il_op_v6_vaddcarryo(void *hi); +RzILOpEffect *hex_il_op_v6_vaddcarrysat(void *hi); +RzILOpEffect *hex_il_op_v6_vaddclbh(void *hi); +RzILOpEffect *hex_il_op_v6_vaddclbw(void *hi); +RzILOpEffect *hex_il_op_v6_vaddh(void *hi); +RzILOpEffect *hex_il_op_v6_vaddh_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vaddhnq(void *hi); +RzILOpEffect *hex_il_op_v6_vaddhq(void *hi); +RzILOpEffect *hex_il_op_v6_vaddhsat(void *hi); +RzILOpEffect *hex_il_op_v6_vaddhsat_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vaddhw(void *hi); +RzILOpEffect *hex_il_op_v6_vaddhw_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vaddubh(void *hi); +RzILOpEffect *hex_il_op_v6_vaddubh_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vaddubsat(void *hi); +RzILOpEffect *hex_il_op_v6_vaddubsat_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vaddububb_sat(void *hi); +RzILOpEffect *hex_il_op_v6_vadduhsat(void *hi); +RzILOpEffect *hex_il_op_v6_vadduhsat_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vadduhw(void *hi); +RzILOpEffect *hex_il_op_v6_vadduhw_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vadduwsat(void *hi); +RzILOpEffect *hex_il_op_v6_vadduwsat_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vaddw(void *hi); +RzILOpEffect *hex_il_op_v6_vaddw_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vaddwnq(void *hi); +RzILOpEffect *hex_il_op_v6_vaddwq(void *hi); +RzILOpEffect *hex_il_op_v6_vaddwsat(void *hi); +RzILOpEffect *hex_il_op_v6_vaddwsat_dv(void *hi); +RzILOpEffect *hex_il_op_v6_valignb(void *hi); +RzILOpEffect *hex_il_op_v6_valignbi(void *hi); +RzILOpEffect *hex_il_op_v6_vand(void *hi); +RzILOpEffect *hex_il_op_v6_vandnqrt(void *hi); +RzILOpEffect *hex_il_op_v6_vandnqrt_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vandqrt(void *hi); +RzILOpEffect *hex_il_op_v6_vandqrt_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vandvnqv(void *hi); +RzILOpEffect *hex_il_op_v6_vandvqv(void *hi); +RzILOpEffect *hex_il_op_v6_vandvrt(void *hi); +RzILOpEffect *hex_il_op_v6_vandvrt_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vaslh(void *hi); +RzILOpEffect *hex_il_op_v6_vaslh_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vaslhv(void *hi); +RzILOpEffect *hex_il_op_v6_vaslw(void *hi); +RzILOpEffect *hex_il_op_v6_vaslw_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vaslwv(void *hi); +RzILOpEffect *hex_il_op_v6_vasr_into(void *hi); +RzILOpEffect *hex_il_op_v6_vasrh(void *hi); +RzILOpEffect *hex_il_op_v6_vasrh_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vasrhbrndsat(void *hi); +RzILOpEffect *hex_il_op_v6_vasrhbsat(void *hi); +RzILOpEffect *hex_il_op_v6_vasrhubrndsat(void *hi); +RzILOpEffect *hex_il_op_v6_vasrhubsat(void *hi); +RzILOpEffect *hex_il_op_v6_vasrhv(void *hi); +RzILOpEffect *hex_il_op_v6_vasruhubrndsat(void *hi); +RzILOpEffect *hex_il_op_v6_vasruhubsat(void *hi); +RzILOpEffect *hex_il_op_v6_vasruwuhrndsat(void *hi); +RzILOpEffect *hex_il_op_v6_vasruwuhsat(void *hi); +RzILOpEffect *hex_il_op_v6_vasrvuhubrndsat(void *hi); +RzILOpEffect *hex_il_op_v6_vasrvuhubsat(void *hi); +RzILOpEffect *hex_il_op_v6_vasrvwuhrndsat(void *hi); +RzILOpEffect *hex_il_op_v6_vasrvwuhsat(void *hi); +RzILOpEffect *hex_il_op_v6_vasrw(void *hi); +RzILOpEffect *hex_il_op_v6_vasrw_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vasrwh(void *hi); +RzILOpEffect *hex_il_op_v6_vasrwhrndsat(void *hi); +RzILOpEffect *hex_il_op_v6_vasrwhsat(void *hi); +RzILOpEffect *hex_il_op_v6_vasrwuhrndsat(void *hi); +RzILOpEffect *hex_il_op_v6_vasrwuhsat(void *hi); +RzILOpEffect *hex_il_op_v6_vasrwv(void *hi); +RzILOpEffect *hex_il_op_v6_vassign(void *hi); +RzILOpEffect *hex_il_op_v6_vassign_fp(void *hi); +RzILOpEffect *hex_il_op_v6_vassign_tmp(void *hi); +RzILOpEffect *hex_il_op_v6_vavgb(void *hi); +RzILOpEffect *hex_il_op_v6_vavgbrnd(void *hi); +RzILOpEffect *hex_il_op_v6_vavgh(void *hi); +RzILOpEffect *hex_il_op_v6_vavghrnd(void *hi); +RzILOpEffect *hex_il_op_v6_vavgub(void *hi); +RzILOpEffect *hex_il_op_v6_vavgubrnd(void *hi); +RzILOpEffect *hex_il_op_v6_vavguh(void *hi); +RzILOpEffect *hex_il_op_v6_vavguhrnd(void *hi); +RzILOpEffect *hex_il_op_v6_vavguw(void *hi); +RzILOpEffect *hex_il_op_v6_vavguwrnd(void *hi); +RzILOpEffect *hex_il_op_v6_vavgw(void *hi); +RzILOpEffect *hex_il_op_v6_vavgwrnd(void *hi); +RzILOpEffect *hex_il_op_v6_vccombine(void *hi); +RzILOpEffect *hex_il_op_v6_vcl0h(void *hi); +RzILOpEffect *hex_il_op_v6_vcl0w(void *hi); +RzILOpEffect *hex_il_op_v6_vcmov(void *hi); +RzILOpEffect *hex_il_op_v6_vcombine(void *hi); +RzILOpEffect *hex_il_op_v6_vcombine_tmp(void *hi); +RzILOpEffect *hex_il_op_v6_vconv_hf_qf16(void *hi); +RzILOpEffect *hex_il_op_v6_vconv_hf_qf32(void *hi); +RzILOpEffect *hex_il_op_v6_vconv_sf_qf32(void *hi); +RzILOpEffect *hex_il_op_v6_vcvt_b_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vcvt_h_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vcvt_hf_b(void *hi); +RzILOpEffect *hex_il_op_v6_vcvt_hf_h(void *hi); +RzILOpEffect *hex_il_op_v6_vcvt_hf_sf(void *hi); +RzILOpEffect *hex_il_op_v6_vcvt_hf_ub(void *hi); +RzILOpEffect *hex_il_op_v6_vcvt_hf_uh(void *hi); +RzILOpEffect *hex_il_op_v6_vcvt_sf_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vcvt_ub_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vcvt_uh_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vdeal(void *hi); +RzILOpEffect *hex_il_op_v6_vdealb(void *hi); +RzILOpEffect *hex_il_op_v6_vdealb4w(void *hi); +RzILOpEffect *hex_il_op_v6_vdealh(void *hi); +RzILOpEffect *hex_il_op_v6_vdealvdd(void *hi); +RzILOpEffect *hex_il_op_v6_vdelta(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpy_sf_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpy_sf_hf_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpybus(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpybus_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpybus_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpybus_dv_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpyhb(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpyhb_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpyhb_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpyhb_dv_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpyhisat(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpyhisat_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpyhsat(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpyhsat_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpyhsuisat(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpyhsuisat_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpyhsusat(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpyhsusat_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpyhvsat(void *hi); +RzILOpEffect *hex_il_op_v6_vdmpyhvsat_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vdsaduh(void *hi); +RzILOpEffect *hex_il_op_v6_vdsaduh_acc(void *hi); +RzILOpEffect *hex_il_op_v6_veqb(void *hi); +RzILOpEffect *hex_il_op_v6_veqb_and(void *hi); +RzILOpEffect *hex_il_op_v6_veqb_or(void *hi); +RzILOpEffect *hex_il_op_v6_veqb_xor(void *hi); +RzILOpEffect *hex_il_op_v6_veqh(void *hi); +RzILOpEffect *hex_il_op_v6_veqh_and(void *hi); +RzILOpEffect *hex_il_op_v6_veqh_or(void *hi); +RzILOpEffect *hex_il_op_v6_veqh_xor(void *hi); +RzILOpEffect *hex_il_op_v6_veqw(void *hi); +RzILOpEffect *hex_il_op_v6_veqw_and(void *hi); +RzILOpEffect *hex_il_op_v6_veqw_or(void *hi); +RzILOpEffect *hex_il_op_v6_veqw_xor(void *hi); +RzILOpEffect *hex_il_op_v6_vfmax_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vfmax_sf(void *hi); +RzILOpEffect *hex_il_op_v6_vfmin_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vfmin_sf(void *hi); +RzILOpEffect *hex_il_op_v6_vfneg_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vfneg_sf(void *hi); +RzILOpEffect *hex_il_op_v6_vgathermh(void *hi); +RzILOpEffect *hex_il_op_v6_vgathermhq(void *hi); +RzILOpEffect *hex_il_op_v6_vgathermhw(void *hi); +RzILOpEffect *hex_il_op_v6_vgathermhwq(void *hi); +RzILOpEffect *hex_il_op_v6_vgathermw(void *hi); +RzILOpEffect *hex_il_op_v6_vgathermwq(void *hi); +RzILOpEffect *hex_il_op_v6_vgtb(void *hi); +RzILOpEffect *hex_il_op_v6_vgtb_and(void *hi); +RzILOpEffect *hex_il_op_v6_vgtb_or(void *hi); +RzILOpEffect *hex_il_op_v6_vgtb_xor(void *hi); +RzILOpEffect *hex_il_op_v6_vgth(void *hi); +RzILOpEffect *hex_il_op_v6_vgth_and(void *hi); +RzILOpEffect *hex_il_op_v6_vgth_or(void *hi); +RzILOpEffect *hex_il_op_v6_vgth_xor(void *hi); +RzILOpEffect *hex_il_op_v6_vgthf(void *hi); +RzILOpEffect *hex_il_op_v6_vgthf_and(void *hi); +RzILOpEffect *hex_il_op_v6_vgthf_or(void *hi); +RzILOpEffect *hex_il_op_v6_vgthf_xor(void *hi); +RzILOpEffect *hex_il_op_v6_vgtsf(void *hi); +RzILOpEffect *hex_il_op_v6_vgtsf_and(void *hi); +RzILOpEffect *hex_il_op_v6_vgtsf_or(void *hi); +RzILOpEffect *hex_il_op_v6_vgtsf_xor(void *hi); +RzILOpEffect *hex_il_op_v6_vgtub(void *hi); +RzILOpEffect *hex_il_op_v6_vgtub_and(void *hi); +RzILOpEffect *hex_il_op_v6_vgtub_or(void *hi); +RzILOpEffect *hex_il_op_v6_vgtub_xor(void *hi); +RzILOpEffect *hex_il_op_v6_vgtuh(void *hi); +RzILOpEffect *hex_il_op_v6_vgtuh_and(void *hi); +RzILOpEffect *hex_il_op_v6_vgtuh_or(void *hi); +RzILOpEffect *hex_il_op_v6_vgtuh_xor(void *hi); +RzILOpEffect *hex_il_op_v6_vgtuw(void *hi); +RzILOpEffect *hex_il_op_v6_vgtuw_and(void *hi); +RzILOpEffect *hex_il_op_v6_vgtuw_or(void *hi); +RzILOpEffect *hex_il_op_v6_vgtuw_xor(void *hi); +RzILOpEffect *hex_il_op_v6_vgtw(void *hi); +RzILOpEffect *hex_il_op_v6_vgtw_and(void *hi); +RzILOpEffect *hex_il_op_v6_vgtw_or(void *hi); +RzILOpEffect *hex_il_op_v6_vgtw_xor(void *hi); +RzILOpEffect *hex_il_op_v6_vhist(void *hi); +RzILOpEffect *hex_il_op_v6_vhistq(void *hi); +RzILOpEffect *hex_il_op_v6_vinsertwr(void *hi); +RzILOpEffect *hex_il_op_v6_vlalignb(void *hi); +RzILOpEffect *hex_il_op_v6_vlalignbi(void *hi); +RzILOpEffect *hex_il_op_v6_vlsrb(void *hi); +RzILOpEffect *hex_il_op_v6_vlsrh(void *hi); +RzILOpEffect *hex_il_op_v6_vlsrhv(void *hi); +RzILOpEffect *hex_il_op_v6_vlsrw(void *hi); +RzILOpEffect *hex_il_op_v6_vlsrwv(void *hi); +RzILOpEffect *hex_il_op_v6_vlut4(void *hi); +RzILOpEffect *hex_il_op_v6_vlutvvb(void *hi); +RzILOpEffect *hex_il_op_v6_vlutvvb_nm(void *hi); +RzILOpEffect *hex_il_op_v6_vlutvvb_oracc(void *hi); +RzILOpEffect *hex_il_op_v6_vlutvvb_oracci(void *hi); +RzILOpEffect *hex_il_op_v6_vlutvvbi(void *hi); +RzILOpEffect *hex_il_op_v6_vlutvwh(void *hi); +RzILOpEffect *hex_il_op_v6_vlutvwh_nm(void *hi); +RzILOpEffect *hex_il_op_v6_vlutvwh_oracc(void *hi); +RzILOpEffect *hex_il_op_v6_vlutvwh_oracci(void *hi); +RzILOpEffect *hex_il_op_v6_vlutvwhi(void *hi); +RzILOpEffect *hex_il_op_v6_vmax_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vmax_sf(void *hi); +RzILOpEffect *hex_il_op_v6_vmaxb(void *hi); +RzILOpEffect *hex_il_op_v6_vmaxh(void *hi); +RzILOpEffect *hex_il_op_v6_vmaxub(void *hi); +RzILOpEffect *hex_il_op_v6_vmaxuh(void *hi); +RzILOpEffect *hex_il_op_v6_vmaxw(void *hi); +RzILOpEffect *hex_il_op_v6_vmin_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vmin_sf(void *hi); +RzILOpEffect *hex_il_op_v6_vminb(void *hi); +RzILOpEffect *hex_il_op_v6_vminh(void *hi); +RzILOpEffect *hex_il_op_v6_vminub(void *hi); +RzILOpEffect *hex_il_op_v6_vminuh(void *hi); +RzILOpEffect *hex_il_op_v6_vminw(void *hi); +RzILOpEffect *hex_il_op_v6_vmpabus(void *hi); +RzILOpEffect *hex_il_op_v6_vmpabus_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpabusv(void *hi); +RzILOpEffect *hex_il_op_v6_vmpabuu(void *hi); +RzILOpEffect *hex_il_op_v6_vmpabuu_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpabuuv(void *hi); +RzILOpEffect *hex_il_op_v6_vmpahb(void *hi); +RzILOpEffect *hex_il_op_v6_vmpahb_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpahhsat(void *hi); +RzILOpEffect *hex_il_op_v6_vmpauhb(void *hi); +RzILOpEffect *hex_il_op_v6_vmpauhb_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpauhuhsat(void *hi); +RzILOpEffect *hex_il_op_v6_vmpsuhuhsat(void *hi); +RzILOpEffect *hex_il_op_v6_vmpy_hf_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vmpy_hf_hf_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpy_qf16(void *hi); +RzILOpEffect *hex_il_op_v6_vmpy_qf16_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vmpy_qf16_mix_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vmpy_qf32(void *hi); +RzILOpEffect *hex_il_op_v6_vmpy_qf32_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vmpy_qf32_mix_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vmpy_qf32_qf16(void *hi); +RzILOpEffect *hex_il_op_v6_vmpy_qf32_sf(void *hi); +RzILOpEffect *hex_il_op_v6_vmpy_sf_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vmpy_sf_hf_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpy_sf_sf(void *hi); +RzILOpEffect *hex_il_op_v6_vmpybus(void *hi); +RzILOpEffect *hex_il_op_v6_vmpybus_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpybusv(void *hi); +RzILOpEffect *hex_il_op_v6_vmpybusv_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpybv(void *hi); +RzILOpEffect *hex_il_op_v6_vmpybv_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyewuh(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyewuh_64(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyh(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyh_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyhsat_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyhsrs(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyhss(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyhus(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyhus_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyhv(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyhv_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyhvsrs(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyieoh(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyiewh_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyiewuh(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyiewuh_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyih(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyih_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyihb(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyihb_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyiowh(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyiwb(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyiwb_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyiwh(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyiwh_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyiwub(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyiwub_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyowh(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyowh_64_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyowh_rnd(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyowh_rnd_sacc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyowh_sacc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyub(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyub_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyubv(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyubv_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyuh(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyuh_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyuhe(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyuhe_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyuhv(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyuhv_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vmpyuhvs(void *hi); +RzILOpEffect *hex_il_op_v6_vmux(void *hi); +RzILOpEffect *hex_il_op_v6_vnavgb(void *hi); +RzILOpEffect *hex_il_op_v6_vnavgh(void *hi); +RzILOpEffect *hex_il_op_v6_vnavgub(void *hi); +RzILOpEffect *hex_il_op_v6_vnavgw(void *hi); +RzILOpEffect *hex_il_op_v6_vnccombine(void *hi); +RzILOpEffect *hex_il_op_v6_vncmov(void *hi); +RzILOpEffect *hex_il_op_v6_vnormamth(void *hi); +RzILOpEffect *hex_il_op_v6_vnormamtw(void *hi); +RzILOpEffect *hex_il_op_v6_vnot(void *hi); +RzILOpEffect *hex_il_op_v6_vor(void *hi); +RzILOpEffect *hex_il_op_v6_vpackeb(void *hi); +RzILOpEffect *hex_il_op_v6_vpackeh(void *hi); +RzILOpEffect *hex_il_op_v6_vpackhb_sat(void *hi); +RzILOpEffect *hex_il_op_v6_vpackhub_sat(void *hi); +RzILOpEffect *hex_il_op_v6_vpackob(void *hi); +RzILOpEffect *hex_il_op_v6_vpackoh(void *hi); +RzILOpEffect *hex_il_op_v6_vpackwh_sat(void *hi); +RzILOpEffect *hex_il_op_v6_vpackwuh_sat(void *hi); +RzILOpEffect *hex_il_op_v6_vpopcounth(void *hi); +RzILOpEffect *hex_il_op_v6_vprefixqb(void *hi); +RzILOpEffect *hex_il_op_v6_vprefixqh(void *hi); +RzILOpEffect *hex_il_op_v6_vprefixqw(void *hi); +RzILOpEffect *hex_il_op_v6_vrdelta(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpybub_rtt(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpybub_rtt_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpybus(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpybus_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpybusi(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpybusi_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpybusv(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpybusv_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpybv(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpybv_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyub(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyub_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyub_rtt(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyub_rtt_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyubi(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyubi_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyubv(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyubv_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyzbb_rt(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyzbb_rt_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyzbb_rx(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyzbb_rx_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyzbub_rt(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyzbub_rt_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyzbub_rx(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyzbub_rx_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyzcb_rt(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyzcb_rt_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyzcb_rx(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyzcb_rx_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyzcbs_rt(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyzcbs_rt_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyzcbs_rx(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyzcbs_rx_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyznb_rt(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyznb_rt_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyznb_rx(void *hi); +RzILOpEffect *hex_il_op_v6_vrmpyznb_rx_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vror(void *hi); +RzILOpEffect *hex_il_op_v6_vrotr(void *hi); +RzILOpEffect *hex_il_op_v6_vroundhb(void *hi); +RzILOpEffect *hex_il_op_v6_vroundhub(void *hi); +RzILOpEffect *hex_il_op_v6_vrounduhub(void *hi); +RzILOpEffect *hex_il_op_v6_vrounduwuh(void *hi); +RzILOpEffect *hex_il_op_v6_vroundwh(void *hi); +RzILOpEffect *hex_il_op_v6_vroundwuh(void *hi); +RzILOpEffect *hex_il_op_v6_vrsadubi(void *hi); +RzILOpEffect *hex_il_op_v6_vrsadubi_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vsatdw(void *hi); +RzILOpEffect *hex_il_op_v6_vsathub(void *hi); +RzILOpEffect *hex_il_op_v6_vsatuwuh(void *hi); +RzILOpEffect *hex_il_op_v6_vsatwh(void *hi); +RzILOpEffect *hex_il_op_v6_vsb(void *hi); +RzILOpEffect *hex_il_op_v6_vscattermh(void *hi); +RzILOpEffect *hex_il_op_v6_vscattermh_add(void *hi); +RzILOpEffect *hex_il_op_v6_vscattermhq(void *hi); +RzILOpEffect *hex_il_op_v6_vscattermhw(void *hi); +RzILOpEffect *hex_il_op_v6_vscattermhw_add(void *hi); +RzILOpEffect *hex_il_op_v6_vscattermhwq(void *hi); +RzILOpEffect *hex_il_op_v6_vscattermw(void *hi); +RzILOpEffect *hex_il_op_v6_vscattermw_add(void *hi); +RzILOpEffect *hex_il_op_v6_vscattermwq(void *hi); +RzILOpEffect *hex_il_op_v6_vsh(void *hi); +RzILOpEffect *hex_il_op_v6_vshufeh(void *hi); +RzILOpEffect *hex_il_op_v6_vshuff(void *hi); +RzILOpEffect *hex_il_op_v6_vshuffb(void *hi); +RzILOpEffect *hex_il_op_v6_vshuffeb(void *hi); +RzILOpEffect *hex_il_op_v6_vshuffh(void *hi); +RzILOpEffect *hex_il_op_v6_vshuffob(void *hi); +RzILOpEffect *hex_il_op_v6_vshuffvdd(void *hi); +RzILOpEffect *hex_il_op_v6_vshufoeb(void *hi); +RzILOpEffect *hex_il_op_v6_vshufoeh(void *hi); +RzILOpEffect *hex_il_op_v6_vshufoh(void *hi); +RzILOpEffect *hex_il_op_v6_vsub_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vsub_hf_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vsub_qf16(void *hi); +RzILOpEffect *hex_il_op_v6_vsub_qf16_mix(void *hi); +RzILOpEffect *hex_il_op_v6_vsub_qf32(void *hi); +RzILOpEffect *hex_il_op_v6_vsub_qf32_mix(void *hi); +RzILOpEffect *hex_il_op_v6_vsub_sf(void *hi); +RzILOpEffect *hex_il_op_v6_vsub_sf_hf(void *hi); +RzILOpEffect *hex_il_op_v6_vsub_sf_sf(void *hi); +RzILOpEffect *hex_il_op_v6_vsubb(void *hi); +RzILOpEffect *hex_il_op_v6_vsubb_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vsubbnq(void *hi); +RzILOpEffect *hex_il_op_v6_vsubbq(void *hi); +RzILOpEffect *hex_il_op_v6_vsubbsat(void *hi); +RzILOpEffect *hex_il_op_v6_vsubbsat_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vsubcarry(void *hi); +RzILOpEffect *hex_il_op_v6_vsubcarryo(void *hi); +RzILOpEffect *hex_il_op_v6_vsubh(void *hi); +RzILOpEffect *hex_il_op_v6_vsubh_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vsubhnq(void *hi); +RzILOpEffect *hex_il_op_v6_vsubhq(void *hi); +RzILOpEffect *hex_il_op_v6_vsubhsat(void *hi); +RzILOpEffect *hex_il_op_v6_vsubhsat_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vsubhw(void *hi); +RzILOpEffect *hex_il_op_v6_vsububh(void *hi); +RzILOpEffect *hex_il_op_v6_vsububsat(void *hi); +RzILOpEffect *hex_il_op_v6_vsububsat_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vsubububb_sat(void *hi); +RzILOpEffect *hex_il_op_v6_vsubuhsat(void *hi); +RzILOpEffect *hex_il_op_v6_vsubuhsat_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vsubuhw(void *hi); +RzILOpEffect *hex_il_op_v6_vsubuwsat(void *hi); +RzILOpEffect *hex_il_op_v6_vsubuwsat_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vsubw(void *hi); +RzILOpEffect *hex_il_op_v6_vsubw_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vsubwnq(void *hi); +RzILOpEffect *hex_il_op_v6_vsubwq(void *hi); +RzILOpEffect *hex_il_op_v6_vsubwsat(void *hi); +RzILOpEffect *hex_il_op_v6_vsubwsat_dv(void *hi); +RzILOpEffect *hex_il_op_v6_vswap(void *hi); +RzILOpEffect *hex_il_op_v6_vtmpyb(void *hi); +RzILOpEffect *hex_il_op_v6_vtmpyb_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vtmpybus(void *hi); +RzILOpEffect *hex_il_op_v6_vtmpybus_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vtmpyhb(void *hi); +RzILOpEffect *hex_il_op_v6_vtmpyhb_acc(void *hi); +RzILOpEffect *hex_il_op_v6_vunpackb(void *hi); +RzILOpEffect *hex_il_op_v6_vunpackh(void *hi); +RzILOpEffect *hex_il_op_v6_vunpackob(void *hi); +RzILOpEffect *hex_il_op_v6_vunpackoh(void *hi); +RzILOpEffect *hex_il_op_v6_vunpackub(void *hi); +RzILOpEffect *hex_il_op_v6_vunpackuh(void *hi); +RzILOpEffect *hex_il_op_v6_vwhist128(void *hi); +RzILOpEffect *hex_il_op_v6_vwhist128m(void *hi); +RzILOpEffect *hex_il_op_v6_vwhist128q(void *hi); +RzILOpEffect *hex_il_op_v6_vwhist128qm(void *hi); +RzILOpEffect *hex_il_op_v6_vwhist256(void *hi); +RzILOpEffect *hex_il_op_v6_vwhist256_sat(void *hi); +RzILOpEffect *hex_il_op_v6_vwhist256q(void *hi); +RzILOpEffect *hex_il_op_v6_vwhist256q_sat(void *hi); +RzILOpEffect *hex_il_op_v6_vxor(void *hi); +RzILOpEffect *hex_il_op_v6_vzb(void *hi); +RzILOpEffect *hex_il_op_v6_vzh(void *hi); +RzILOpEffect *hex_il_op_v6_zld_ai(void *hi); +RzILOpEffect *hex_il_op_v6_zld_pi(void *hi); +RzILOpEffect *hex_il_op_v6_zld_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_zld_pred_ai(void *hi); +RzILOpEffect *hex_il_op_v6_zld_pred_pi(void *hi); +RzILOpEffect *hex_il_op_v6_zld_pred_ppu(void *hi); +RzILOpEffect *hex_il_op_v6_zextract(void *hi); +RzILOpEffect *hex_il_op_y2_barrier(void *hi); +RzILOpEffect *hex_il_op_y2_break(void *hi); +RzILOpEffect *hex_il_op_y2_dccleana(void *hi); +RzILOpEffect *hex_il_op_y2_dccleaninva(void *hi); +RzILOpEffect *hex_il_op_y2_dcfetchbo(void *hi); +RzILOpEffect *hex_il_op_y2_dcinva(void *hi); +RzILOpEffect *hex_il_op_y2_dczeroa(void *hi); +RzILOpEffect *hex_il_op_y2_icinva(void *hi); +RzILOpEffect *hex_il_op_y2_isync(void *hi); +RzILOpEffect *hex_il_op_y2_syncht(void *hi); +RzILOpEffect *hex_il_op_y2_tfrscrr(void *hi); +RzILOpEffect *hex_il_op_y2_tfrsrcr(void *hi); +RzILOpEffect *hex_il_op_y2_wait(void *hi); +RzILOpEffect *hex_il_op_y4_l2fetch(void *hi); +RzILOpEffect *hex_il_op_y4_tfrscpp(void *hi); +RzILOpEffect *hex_il_op_y4_tfrspcp(void *hi); +RzILOpEffect *hex_il_op_y4_trace(void *hi); +RzILOpEffect *hex_il_op_y5_l2fetch(void *hi); +RzILOpEffect *hex_il_op_y6_diag(void *hi); +RzILOpEffect *hex_il_op_y6_diag0(void *hi); +RzILOpEffect *hex_il_op_y6_diag1(void *hi); +RzILOpEffect *hex_il_op_y6_dmlink(void *hi); +RzILOpEffect *hex_il_op_y6_dmpause(void *hi); +RzILOpEffect *hex_il_op_y6_dmpoll(void *hi); +RzILOpEffect *hex_il_op_y6_dmresume(void *hi); +RzILOpEffect *hex_il_op_y6_dmstart(void *hi); +RzILOpEffect *hex_il_op_y6_dmwait(void *hi); +RzILOpEffect *hex_il_op_dep_a2_addsat(void *hi); +RzILOpEffect *hex_il_op_dep_a2_subsat(void *hi); +RzILOpEffect *hex_il_op_dep_s2_packhl(void *hi); +RzILOpEffect *hex_il_op_invalid_decode(void *hi); +RzILOpEffect *hex_il_op_imported_pd_l2locka_rs(void *hi); +RzILOpEffect *hex_il_op_imported_rd_ss(void *hi); +RzILOpEffect *hex_il_op_imported_rd_ctlbw_rss_rt(void *hi); +RzILOpEffect *hex_il_op_imported_rd_dctagr_rs(void *hi); +RzILOpEffect *hex_il_op_imported_rd_getimask_rs(void *hi); +RzILOpEffect *hex_il_op_imported_rd_iassignr_rs(void *hi); +RzILOpEffect *hex_il_op_imported_rd_icdatar_rs(void *hi); +RzILOpEffect *hex_il_op_imported_rd_ictagr_rs(void *hi); +RzILOpEffect *hex_il_op_imported_rd_l2tagr_rs(void *hi); +RzILOpEffect *hex_il_op_imported_rd_memw_phys_rs_rt(void *hi); +RzILOpEffect *hex_il_op_imported_rd_tlboc_rss(void *hi); +RzILOpEffect *hex_il_op_imported_rd_tlbp_rs(void *hi); +RzILOpEffect *hex_il_op_imported_rdd_sss(void *hi); +RzILOpEffect *hex_il_op_imported_rdd_tlbr_rs(void *hi); +RzILOpEffect *hex_il_op_imported_sd_rs(void *hi); +RzILOpEffect *hex_il_op_imported_sdd_rss(void *hi); +RzILOpEffect *hex_il_op_imported_ciad_rs(void *hi); +RzILOpEffect *hex_il_op_imported_crswap_rx_sgp0(void *hi); +RzILOpEffect *hex_il_op_imported_crswap_rx_sgp1(void *hi); +RzILOpEffect *hex_il_op_imported_crswap_rxx_sgp1_0(void *hi); +RzILOpEffect *hex_il_op_imported_cswi_rs(void *hi); +RzILOpEffect *hex_il_op_imported_dccleanidx_rs(void *hi); +RzILOpEffect *hex_il_op_imported_dccleaninvidx_rs(void *hi); +RzILOpEffect *hex_il_op_imported_dcinvidx_rs(void *hi); +RzILOpEffect *hex_il_op_imported_dckill(void *hi); +RzILOpEffect *hex_il_op_imported_dctagw_rs_rt(void *hi); +RzILOpEffect *hex_il_op_imported_iassignw_rs(void *hi); +RzILOpEffect *hex_il_op_imported_icdataw_rs_rt(void *hi); +RzILOpEffect *hex_il_op_imported_icinvidx_rs(void *hi); +RzILOpEffect *hex_il_op_imported_ickill(void *hi); +RzILOpEffect *hex_il_op_imported_ictagw_rs_rt(void *hi); +RzILOpEffect *hex_il_op_imported_k0lock(void *hi); +RzILOpEffect *hex_il_op_imported_k0unlock(void *hi); +RzILOpEffect *hex_il_op_imported_l2cleanidx_rs(void *hi); +RzILOpEffect *hex_il_op_imported_l2cleaninvidx_rs(void *hi); +RzILOpEffect *hex_il_op_imported_l2gclean(void *hi); +RzILOpEffect *hex_il_op_imported_l2gclean_rtt(void *hi); +RzILOpEffect *hex_il_op_imported_l2gcleaninv(void *hi); +RzILOpEffect *hex_il_op_imported_l2gcleaninv_rtt(void *hi); +RzILOpEffect *hex_il_op_imported_l2gunlock(void *hi); +RzILOpEffect *hex_il_op_imported_l2invidx_rs(void *hi); +RzILOpEffect *hex_il_op_imported_l2kill(void *hi); +RzILOpEffect *hex_il_op_imported_l2tagw_rs_rt(void *hi); +RzILOpEffect *hex_il_op_imported_l2unlocka_rs(void *hi); +RzILOpEffect *hex_il_op_imported_nmi_rs(void *hi); +RzILOpEffect *hex_il_op_imported_resume_rs(void *hi); +RzILOpEffect *hex_il_op_imported_rte(void *hi); +RzILOpEffect *hex_il_op_imported_setimask_pt_rs(void *hi); +RzILOpEffect *hex_il_op_imported_setprio_pt_rs(void *hi); +RzILOpEffect *hex_il_op_imported_siad_rs(void *hi); +RzILOpEffect *hex_il_op_imported_start_rs(void *hi); +RzILOpEffect *hex_il_op_imported_stop_rs(void *hi); +RzILOpEffect *hex_il_op_imported_swi_rs(void *hi); +RzILOpEffect *hex_il_op_imported_tlbinvasid_rs(void *hi); +RzILOpEffect *hex_il_op_imported_tlblock(void *hi); +RzILOpEffect *hex_il_op_imported_tlbunlock(void *hi); +RzILOpEffect *hex_il_op_imported_tlbw_rss_rt(void *hi); +RzILOpEffect *hex_il_op_sa1_addi(void *hi); +RzILOpEffect *hex_il_op_sa1_addrx(void *hi); +RzILOpEffect *hex_il_op_sa1_addsp(void *hi); +RzILOpEffect *hex_il_op_sa1_and1(void *hi); +RzILOpEffect *hex_il_op_sa1_clrf(void *hi); +RzILOpEffect *hex_il_op_sa1_clrfnew(void *hi); +RzILOpEffect *hex_il_op_sa1_clrt(void *hi); +RzILOpEffect *hex_il_op_sa1_clrtnew(void *hi); +RzILOpEffect *hex_il_op_sa1_cmpeqi(void *hi); +RzILOpEffect *hex_il_op_sa1_combine0i(void *hi); +RzILOpEffect *hex_il_op_sa1_combine1i(void *hi); +RzILOpEffect *hex_il_op_sa1_combine2i(void *hi); +RzILOpEffect *hex_il_op_sa1_combine3i(void *hi); +RzILOpEffect *hex_il_op_sa1_combinerz(void *hi); +RzILOpEffect *hex_il_op_sa1_combinezr(void *hi); +RzILOpEffect *hex_il_op_sa1_dec(void *hi); +RzILOpEffect *hex_il_op_sa1_inc(void *hi); +RzILOpEffect *hex_il_op_sa1_seti(void *hi); +RzILOpEffect *hex_il_op_sa1_setin1(void *hi); +RzILOpEffect *hex_il_op_sa1_sxtb(void *hi); +RzILOpEffect *hex_il_op_sa1_sxth(void *hi); +RzILOpEffect *hex_il_op_sa1_tfr(void *hi); +RzILOpEffect *hex_il_op_sa1_zxtb(void *hi); +RzILOpEffect *hex_il_op_sa1_zxth(void *hi); +RzILOpEffect *hex_il_op_sl1_loadri_io(void *hi); +RzILOpEffect *hex_il_op_sl1_loadrub_io(void *hi); +RzILOpEffect *hex_il_op_sl2_deallocframe(void *hi); +RzILOpEffect *hex_il_op_sl2_jumpr31(void *hi); +RzILOpEffect *hex_il_op_sl2_jumpr31_f(void *hi); +RzILOpEffect *hex_il_op_sl2_jumpr31_fnew(void *hi); +RzILOpEffect *hex_il_op_sl2_jumpr31_t(void *hi); +RzILOpEffect *hex_il_op_sl2_jumpr31_tnew(void *hi); +RzILOpEffect *hex_il_op_sl2_loadrb_io(void *hi); +RzILOpEffect *hex_il_op_sl2_loadrd_sp(void *hi); +RzILOpEffect *hex_il_op_sl2_loadrh_io(void *hi); +RzILOpEffect *hex_il_op_sl2_loadri_sp(void *hi); +RzILOpEffect *hex_il_op_sl2_loadruh_io(void *hi); +RzILOpEffect *hex_il_op_sl2_return(void *hi); +RzILOpEffect *hex_il_op_sl2_return_f(void *hi); +RzILOpEffect *hex_il_op_sl2_return_fnew(void *hi); +RzILOpEffect *hex_il_op_sl2_return_t(void *hi); +RzILOpEffect *hex_il_op_sl2_return_tnew(void *hi); +RzILOpEffect *hex_il_op_ss1_storeb_io(void *hi); +RzILOpEffect *hex_il_op_ss1_storew_io(void *hi); +RzILOpEffect *hex_il_op_ss2_allocframe(void *hi); +RzILOpEffect *hex_il_op_ss2_storebi0(void *hi); +RzILOpEffect *hex_il_op_ss2_storebi1(void *hi); +RzILOpEffect *hex_il_op_ss2_stored_sp(void *hi); +RzILOpEffect *hex_il_op_ss2_storeh_io(void *hi); +RzILOpEffect *hex_il_op_ss2_storew_sp(void *hi); +RzILOpEffect *hex_il_op_ss2_storewi0(void *hi); +RzILOpEffect *hex_il_op_ss2_storewi1(void *hi); +RzILOpEffect *hex_il_op_undocumented_sa2_tfrsi(void *hi); + +#include +#endif diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_A2_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_A2_ops.c new file mode 100644 index 00000000..5e915360 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_A2_ops.c @@ -0,0 +1,8597 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_a2_abs(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(Rs, VARLP("const_pos0"))); + RzIlOpPure *op_NEG_0 = NEG(DUP(Rs)); + RzIlOpPure *cond_1 = ITE(op_LT, op_NEG_0, DUP(Rs)); + + // WRITE + RzIlOpEffect *op_ASSIGN_2 = SETG(Rd_assoc, cond_1); + + return SEQN(op_ASSIGN_2); +} + +RzILOpEffect *hex_il_op_a2_absp(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(Rss, VARLP("const_pos0"))); + RzIlOpPure *op_NEG_3 = NEG(DUP(Rss)); + RzIlOpPure *cond_4 = ITE(op_LT, op_NEG_3, DUP(Rss)); + + // WRITE + RzIlOpEffect *op_ASSIGN_5 = SETG(Rdd_assoc, cond_4); + + return SEQN(op_ASSIGN_5); +} + +RzILOpEffect *hex_il_op_a2_abssat(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *cast_st32_6 = CAST(32, MSB(Rs), DUP(Rs)); + RzIlOpPure *cast_st64_7 = CAST(32, IL_FALSE, cast_st32_6); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(cast_st64_7, VARLP("const_pos0"))); + RzIlOpPure *cast_st32_8 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_9 = CAST(64, MSB(cast_st32_8), cast_st32_8); + RzIlOpPure *op_NEG_10 = NEG(cast_st64_9); + RzIlOpPure *cast_st32_11 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_12 = CAST(64, MSB(cast_st32_11), cast_st32_11); + RzIlOpPure *cond_13 = ITE(op_LT, op_NEG_10, cast_st64_12); + RzIlOpPure *c_call_14 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cond_13, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_15 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_14, VARLP("const_pos0LL"))); + RzIlOpPure *cast_st32_16 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_17 = CAST(32, IL_FALSE, cast_st32_16); + RzIlOpPure *cast_st32_18 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_19 = CAST(64, MSB(cast_st32_18), cast_st32_18); + RzIlOpPure *op_NEG_20 = NEG(cast_st64_19); + RzIlOpPure *cast_st32_21 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_22 = CAST(64, MSB(cast_st32_21), cast_st32_21); + RzIlOpPure *cond_23 = ITE(op_LT, op_NEG_20, cast_st64_22); + RzIlOpPure *op_EQ = EQ(cond_15, cond_23); + RzIlOpPure *cast_st32_24 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_25 = CAST(32, IL_FALSE, cast_st32_24); + RzIlOpPure *cast_st32_26 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_27 = CAST(64, MSB(cast_st32_26), cast_st32_26); + RzIlOpPure *op_NEG_28 = NEG(cast_st64_27); + RzIlOpPure *cast_st32_29 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_30 = CAST(64, MSB(cast_st32_29), cast_st32_29); + RzIlOpPure *cond_31 = ITE(op_LT, op_NEG_28, cast_st64_30); + RzIlOpPure *c_call_32 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_33 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_34 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_35 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_33, c_call_34, VARLP("const_pos1"))); + RzIlOpPure *cond_36 = ITE(c_call_32, c_call_35, usr); + RzIlOpPure *cast_st32_38 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_39 = CAST(32, IL_FALSE, cast_st32_38); + RzIlOpPure *cast_st32_40 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_41 = CAST(32, IL_FALSE, cast_st32_40); + RzIlOpPure *op_NEG_42 = NEG(cast_st64_41); + RzIlOpPure *cast_st32_43 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_44 = CAST(64, MSB(cast_st32_43), cast_st32_43); + RzIlOpPure *cond_45 = ITE(op_LT, op_NEG_42, cast_st64_44); + RzIlOpPure *op_SUB_46 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_47 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_46)); + RzIlOpPure *op_NEG_48 = NEG(op_LSHIFT_47); + RzIlOpPure *op_SUB_49 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_50 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_49)); + RzIlOpPure *op_SUB_51 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_50, VARLP("const_pos1"))); + RzIlOpPure *cond_52 = ITE(op_LT, op_NEG_48, op_SUB_51); + RzIlOpPure *cond_53 = ITE(op_EQ, cond_31, cond_52); + + // WRITE + RzIlOpEffect *op_ASSIGN_37 = SETG(usr_assoc, cond_36); + RzIlOpEffect *op_ASSIGN_54 = SETG(Rd_assoc, cond_53); + + return SEQN(op_ASSIGN_54); +} + +RzILOpEffect *hex_il_op_a2_add(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_ADD_55 = ADD(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_56 = SETG(Rd_assoc, op_ADD_55); + + return SEQN(op_ASSIGN_56); +} + +RzILOpEffect *hex_il_op_a2_addh_h16_hh(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_MUL_57 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_58 = SHIFTR0(Rt, op_MUL_57); + RzIlOpPure *op_AND_59 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_58, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_60 = CAST(16, MSB(op_AND_59), op_AND_59); + RzIlOpPure *op_MUL_61 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_62 = SHIFTR0(Rs, op_MUL_61); + RzIlOpPure *op_AND_63 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_62, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_64 = CAST(16, MSB(op_AND_63), op_AND_63); + RzIlOpPure *op_ADD_65 = ADD(cast_st16_60, cast_st16_64); + RzIlOpPure *op_LSHIFT_66 = LET("const_pos16", const_pos16, SHIFTL0(op_ADD_65, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_67 = SETG(Rd_assoc, op_LSHIFT_66); + + return SEQN(op_ASSIGN_67); +} + +RzILOpEffect *hex_il_op_a2_addh_h16_hl(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + + // EXEC + RzIlOpPure *op_MUL_68 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_69 = SHIFTR0(Rt, op_MUL_68); + RzIlOpPure *op_AND_70 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_69, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_71 = CAST(16, MSB(op_AND_70), op_AND_70); + RzIlOpPure *op_MUL_72 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_73 = SHIFTR0(Rs, op_MUL_72); + RzIlOpPure *op_AND_74 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_73, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_75 = CAST(16, MSB(op_AND_74), op_AND_74); + RzIlOpPure *op_ADD_76 = ADD(cast_st16_71, cast_st16_75); + RzIlOpPure *op_LSHIFT_77 = LET("const_pos16", const_pos16, SHIFTL0(op_ADD_76, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_78 = SETG(Rd_assoc, op_LSHIFT_77); + + return SEQN(op_ASSIGN_78); +} + +RzILOpEffect *hex_il_op_a2_addh_h16_lh(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_MUL_79 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_80 = SHIFTR0(Rt, op_MUL_79); + RzIlOpPure *op_AND_81 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_80, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_82 = CAST(16, MSB(op_AND_81), op_AND_81); + RzIlOpPure *op_MUL_83 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_84 = SHIFTR0(Rs, op_MUL_83); + RzIlOpPure *op_AND_85 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_84, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_86 = CAST(16, MSB(op_AND_85), op_AND_85); + RzIlOpPure *op_ADD_87 = ADD(cast_st16_82, cast_st16_86); + RzIlOpPure *op_LSHIFT_88 = LET("const_pos16", const_pos16, SHIFTL0(op_ADD_87, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_89 = SETG(Rd_assoc, op_LSHIFT_88); + + return SEQN(op_ASSIGN_89); +} + +RzILOpEffect *hex_il_op_a2_addh_h16_ll(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_MUL_90 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_91 = SHIFTR0(Rt, op_MUL_90); + RzIlOpPure *op_AND_92 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_91, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_93 = CAST(16, MSB(op_AND_92), op_AND_92); + RzIlOpPure *op_MUL_94 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_95 = SHIFTR0(Rs, op_MUL_94); + RzIlOpPure *op_AND_96 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_95, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_97 = CAST(16, MSB(op_AND_96), op_AND_96); + RzIlOpPure *op_ADD_98 = ADD(cast_st16_93, cast_st16_97); + RzIlOpPure *op_LSHIFT_99 = LET("const_pos16", const_pos16, SHIFTL0(op_ADD_98, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_100 = SETG(Rd_assoc, op_LSHIFT_99); + + return SEQN(op_ASSIGN_100); +} + +RzILOpEffect *hex_il_op_a2_addh_h16_sat_hh(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_101 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_102 = SHIFTR0(Rt, op_MUL_101); + RzIlOpPure *op_AND_103 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_102, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_104 = CAST(16, MSB(op_AND_103), op_AND_103); + RzIlOpPure *op_MUL_105 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_106 = SHIFTR0(Rs, op_MUL_105); + RzIlOpPure *op_AND_107 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_106, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_108 = CAST(16, MSB(op_AND_107), op_AND_107); + RzIlOpPure *op_ADD_109 = ADD(cast_st16_104, cast_st16_108); + RzIlOpPure *c_call_110 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_ADD_109, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_111 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_110, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_112 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_113 = SHIFTR0(DUP(Rt), op_MUL_112); + RzIlOpPure *op_AND_114 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_113, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_115 = CAST(16, MSB(op_AND_114), op_AND_114); + RzIlOpPure *op_MUL_116 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_117 = SHIFTR0(DUP(Rs), op_MUL_116); + RzIlOpPure *op_AND_118 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_117, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_119 = CAST(16, MSB(op_AND_118), op_AND_118); + RzIlOpPure *op_ADD_120 = ADD(cast_st16_115, cast_st16_119); + RzIlOpPure *op_EQ = EQ(cond_111, op_ADD_120); + RzIlOpPure *op_MUL_121 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_122 = SHIFTR0(DUP(Rt), op_MUL_121); + RzIlOpPure *op_AND_123 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_122, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_124 = CAST(16, MSB(op_AND_123), op_AND_123); + RzIlOpPure *op_MUL_125 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_126 = SHIFTR0(DUP(Rs), op_MUL_125); + RzIlOpPure *op_AND_127 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_126, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_128 = CAST(16, MSB(op_AND_127), op_AND_127); + RzIlOpPure *op_ADD_129 = ADD(cast_st16_124, cast_st16_128); + RzIlOpPure *c_call_130 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_131 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_132 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_133 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_131, c_call_132, VARLP("const_pos1"))); + RzIlOpPure *cond_134 = ITE(c_call_130, c_call_133, usr); + RzIlOpPure *op_MUL_136 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_137 = SHIFTR0(DUP(Rt), op_MUL_136); + RzIlOpPure *op_AND_138 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_137, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_139 = CAST(32, IL_FALSE, op_AND_138); + RzIlOpPure *op_MUL_140 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_141 = SHIFTR0(DUP(Rs), op_MUL_140); + RzIlOpPure *op_AND_142 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_141, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_143 = CAST(16, MSB(op_AND_142), op_AND_142); + RzIlOpPure *op_ADD_144 = ADD(cast_st16_139, cast_st16_143); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(op_ADD_144, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_145 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_146 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_145)); + RzIlOpPure *op_NEG_147 = NEG(op_LSHIFT_146); + RzIlOpPure *op_SUB_148 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_149 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_148)); + RzIlOpPure *op_SUB_150 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_149, VARLP("const_pos1"))); + RzIlOpPure *cond_151 = ITE(op_LT, op_NEG_147, op_SUB_150); + RzIlOpPure *cond_152 = ITE(op_EQ, op_ADD_129, cond_151); + RzIlOpPure *op_LSHIFT_153 = LET("const_pos16", const_pos16, SHIFTL0(cond_152, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_135 = SETG(usr_assoc, cond_134); + RzIlOpEffect *op_ASSIGN_154 = SETG(Rd_assoc, op_LSHIFT_153); + + return SEQN(op_ASSIGN_154); +} + +RzILOpEffect *hex_il_op_a2_addh_h16_sat_hl(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_155 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_156 = SHIFTR0(Rt, op_MUL_155); + RzIlOpPure *op_AND_157 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_156, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_158 = CAST(16, MSB(op_AND_157), op_AND_157); + RzIlOpPure *op_MUL_159 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_160 = SHIFTR0(Rs, op_MUL_159); + RzIlOpPure *op_AND_161 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_160, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_162 = CAST(16, MSB(op_AND_161), op_AND_161); + RzIlOpPure *op_ADD_163 = ADD(cast_st16_158, cast_st16_162); + RzIlOpPure *c_call_164 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_ADD_163, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_165 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_164, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_166 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_167 = SHIFTR0(DUP(Rt), op_MUL_166); + RzIlOpPure *op_AND_168 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_167, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_169 = CAST(16, MSB(op_AND_168), op_AND_168); + RzIlOpPure *op_MUL_170 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_171 = SHIFTR0(DUP(Rs), op_MUL_170); + RzIlOpPure *op_AND_172 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_171, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_173 = CAST(16, MSB(op_AND_172), op_AND_172); + RzIlOpPure *op_ADD_174 = ADD(cast_st16_169, cast_st16_173); + RzIlOpPure *op_EQ = EQ(cond_165, op_ADD_174); + RzIlOpPure *op_MUL_175 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_176 = SHIFTR0(DUP(Rt), op_MUL_175); + RzIlOpPure *op_AND_177 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_176, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_178 = CAST(16, MSB(op_AND_177), op_AND_177); + RzIlOpPure *op_MUL_179 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_180 = SHIFTR0(DUP(Rs), op_MUL_179); + RzIlOpPure *op_AND_181 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_180, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_182 = CAST(16, MSB(op_AND_181), op_AND_181); + RzIlOpPure *op_ADD_183 = ADD(cast_st16_178, cast_st16_182); + RzIlOpPure *c_call_184 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_185 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_186 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_187 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_185, c_call_186, VARLP("const_pos1"))); + RzIlOpPure *cond_188 = ITE(c_call_184, c_call_187, usr); + RzIlOpPure *op_MUL_190 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_191 = SHIFTR0(DUP(Rt), op_MUL_190); + RzIlOpPure *op_AND_192 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_191, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_193 = CAST(32, IL_FALSE, op_AND_192); + RzIlOpPure *op_MUL_194 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_195 = SHIFTR0(DUP(Rs), op_MUL_194); + RzIlOpPure *op_AND_196 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_195, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_197 = CAST(16, MSB(op_AND_196), op_AND_196); + RzIlOpPure *op_ADD_198 = ADD(cast_st16_193, cast_st16_197); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(op_ADD_198, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_199 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_200 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_199)); + RzIlOpPure *op_NEG_201 = NEG(op_LSHIFT_200); + RzIlOpPure *op_SUB_202 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_203 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_202)); + RzIlOpPure *op_SUB_204 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_203, VARLP("const_pos1"))); + RzIlOpPure *cond_205 = ITE(op_LT, op_NEG_201, op_SUB_204); + RzIlOpPure *cond_206 = ITE(op_EQ, op_ADD_183, cond_205); + RzIlOpPure *op_LSHIFT_207 = LET("const_pos16", const_pos16, SHIFTL0(cond_206, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_189 = SETG(usr_assoc, cond_188); + RzIlOpEffect *op_ASSIGN_208 = SETG(Rd_assoc, op_LSHIFT_207); + + return SEQN(op_ASSIGN_208); +} + +RzILOpEffect *hex_il_op_a2_addh_h16_sat_lh(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_209 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_210 = SHIFTR0(Rt, op_MUL_209); + RzIlOpPure *op_AND_211 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_210, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_212 = CAST(16, MSB(op_AND_211), op_AND_211); + RzIlOpPure *op_MUL_213 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_214 = SHIFTR0(Rs, op_MUL_213); + RzIlOpPure *op_AND_215 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_214, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_216 = CAST(16, MSB(op_AND_215), op_AND_215); + RzIlOpPure *op_ADD_217 = ADD(cast_st16_212, cast_st16_216); + RzIlOpPure *c_call_218 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_ADD_217, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_219 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_218, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_220 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_221 = SHIFTR0(DUP(Rt), op_MUL_220); + RzIlOpPure *op_AND_222 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_221, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_223 = CAST(16, MSB(op_AND_222), op_AND_222); + RzIlOpPure *op_MUL_224 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_225 = SHIFTR0(DUP(Rs), op_MUL_224); + RzIlOpPure *op_AND_226 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_225, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_227 = CAST(16, MSB(op_AND_226), op_AND_226); + RzIlOpPure *op_ADD_228 = ADD(cast_st16_223, cast_st16_227); + RzIlOpPure *op_EQ = EQ(cond_219, op_ADD_228); + RzIlOpPure *op_MUL_229 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_230 = SHIFTR0(DUP(Rt), op_MUL_229); + RzIlOpPure *op_AND_231 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_230, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_232 = CAST(16, MSB(op_AND_231), op_AND_231); + RzIlOpPure *op_MUL_233 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_234 = SHIFTR0(DUP(Rs), op_MUL_233); + RzIlOpPure *op_AND_235 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_234, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_236 = CAST(16, MSB(op_AND_235), op_AND_235); + RzIlOpPure *op_ADD_237 = ADD(cast_st16_232, cast_st16_236); + RzIlOpPure *c_call_238 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_239 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_240 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_241 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_239, c_call_240, VARLP("const_pos1"))); + RzIlOpPure *cond_242 = ITE(c_call_238, c_call_241, usr); + RzIlOpPure *op_MUL_244 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_245 = SHIFTR0(DUP(Rt), op_MUL_244); + RzIlOpPure *op_AND_246 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_245, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_247 = CAST(32, IL_FALSE, op_AND_246); + RzIlOpPure *op_MUL_248 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_249 = SHIFTR0(DUP(Rs), op_MUL_248); + RzIlOpPure *op_AND_250 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_249, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_251 = CAST(16, MSB(op_AND_250), op_AND_250); + RzIlOpPure *op_ADD_252 = ADD(cast_st16_247, cast_st16_251); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(op_ADD_252, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_253 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_254 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_253)); + RzIlOpPure *op_NEG_255 = NEG(op_LSHIFT_254); + RzIlOpPure *op_SUB_256 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_257 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_256)); + RzIlOpPure *op_SUB_258 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_257, VARLP("const_pos1"))); + RzIlOpPure *cond_259 = ITE(op_LT, op_NEG_255, op_SUB_258); + RzIlOpPure *cond_260 = ITE(op_EQ, op_ADD_237, cond_259); + RzIlOpPure *op_LSHIFT_261 = LET("const_pos16", const_pos16, SHIFTL0(cond_260, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_243 = SETG(usr_assoc, cond_242); + RzIlOpEffect *op_ASSIGN_262 = SETG(Rd_assoc, op_LSHIFT_261); + + return SEQN(op_ASSIGN_262); +} + +RzILOpEffect *hex_il_op_a2_addh_h16_sat_ll(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_263 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_264 = SHIFTR0(Rt, op_MUL_263); + RzIlOpPure *op_AND_265 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_264, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_266 = CAST(16, MSB(op_AND_265), op_AND_265); + RzIlOpPure *op_MUL_267 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_268 = SHIFTR0(Rs, op_MUL_267); + RzIlOpPure *op_AND_269 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_268, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_270 = CAST(16, MSB(op_AND_269), op_AND_269); + RzIlOpPure *op_ADD_271 = ADD(cast_st16_266, cast_st16_270); + RzIlOpPure *c_call_272 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_ADD_271, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_273 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_272, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_274 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_275 = SHIFTR0(DUP(Rt), op_MUL_274); + RzIlOpPure *op_AND_276 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_275, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_277 = CAST(16, MSB(op_AND_276), op_AND_276); + RzIlOpPure *op_MUL_278 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_279 = SHIFTR0(DUP(Rs), op_MUL_278); + RzIlOpPure *op_AND_280 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_279, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_281 = CAST(16, MSB(op_AND_280), op_AND_280); + RzIlOpPure *op_ADD_282 = ADD(cast_st16_277, cast_st16_281); + RzIlOpPure *op_EQ = EQ(cond_273, op_ADD_282); + RzIlOpPure *op_MUL_283 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_284 = SHIFTR0(DUP(Rt), op_MUL_283); + RzIlOpPure *op_AND_285 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_284, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_286 = CAST(16, MSB(op_AND_285), op_AND_285); + RzIlOpPure *op_MUL_287 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_288 = SHIFTR0(DUP(Rs), op_MUL_287); + RzIlOpPure *op_AND_289 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_288, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_290 = CAST(16, MSB(op_AND_289), op_AND_289); + RzIlOpPure *op_ADD_291 = ADD(cast_st16_286, cast_st16_290); + RzIlOpPure *c_call_292 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_293 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_294 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_295 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_293, c_call_294, VARLP("const_pos1"))); + RzIlOpPure *cond_296 = ITE(c_call_292, c_call_295, usr); + RzIlOpPure *op_MUL_298 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_299 = SHIFTR0(DUP(Rt), op_MUL_298); + RzIlOpPure *op_AND_300 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_299, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_301 = CAST(32, IL_FALSE, op_AND_300); + RzIlOpPure *op_MUL_302 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_303 = SHIFTR0(DUP(Rs), op_MUL_302); + RzIlOpPure *op_AND_304 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_303, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_305 = CAST(16, MSB(op_AND_304), op_AND_304); + RzIlOpPure *op_ADD_306 = ADD(cast_st16_301, cast_st16_305); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(op_ADD_306, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_307 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_308 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_307)); + RzIlOpPure *op_NEG_309 = NEG(op_LSHIFT_308); + RzIlOpPure *op_SUB_310 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_311 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_310)); + RzIlOpPure *op_SUB_312 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_311, VARLP("const_pos1"))); + RzIlOpPure *cond_313 = ITE(op_LT, op_NEG_309, op_SUB_312); + RzIlOpPure *cond_314 = ITE(op_EQ, op_ADD_291, cond_313); + RzIlOpPure *op_LSHIFT_315 = LET("const_pos16", const_pos16, SHIFTL0(cond_314, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_297 = SETG(usr_assoc, cond_296); + RzIlOpEffect *op_ASSIGN_316 = SETG(Rd_assoc, op_LSHIFT_315); + + return SEQN(op_ASSIGN_316); +} + +RzILOpEffect *hex_il_op_a2_addh_l16_hl(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_317 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_318 = SHIFTR0(Rt, op_MUL_317); + RzIlOpPure *op_AND_319 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_318, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_320 = CAST(16, MSB(op_AND_319), op_AND_319); + RzIlOpPure *op_MUL_321 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_322 = SHIFTR0(Rs, op_MUL_321); + RzIlOpPure *op_AND_323 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_322, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_324 = CAST(16, MSB(op_AND_323), op_AND_323); + RzIlOpPure *op_ADD_325 = ADD(cast_st16_320, cast_st16_324); + RzIlOpPure *c_call_326 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_ADD_325, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_327 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_326, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_328 = SETG(Rd_assoc, cond_327); + + return SEQN(op_ASSIGN_328); +} + +RzILOpEffect *hex_il_op_a2_addh_l16_ll(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_329 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_330 = SHIFTR0(Rt, op_MUL_329); + RzIlOpPure *op_AND_331 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_330, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_332 = CAST(16, MSB(op_AND_331), op_AND_331); + RzIlOpPure *op_MUL_333 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_334 = SHIFTR0(Rs, op_MUL_333); + RzIlOpPure *op_AND_335 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_334, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_336 = CAST(16, MSB(op_AND_335), op_AND_335); + RzIlOpPure *op_ADD_337 = ADD(cast_st16_332, cast_st16_336); + RzIlOpPure *c_call_338 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_ADD_337, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_339 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_338, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_340 = SETG(Rd_assoc, cond_339); + + return SEQN(op_ASSIGN_340); +} + +RzILOpEffect *hex_il_op_a2_addh_l16_sat_hl(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_341 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_342 = SHIFTR0(Rt, op_MUL_341); + RzIlOpPure *op_AND_343 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_342, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_344 = CAST(16, MSB(op_AND_343), op_AND_343); + RzIlOpPure *op_MUL_345 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_346 = SHIFTR0(Rs, op_MUL_345); + RzIlOpPure *op_AND_347 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_346, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_348 = CAST(16, MSB(op_AND_347), op_AND_347); + RzIlOpPure *op_ADD_349 = ADD(cast_st16_344, cast_st16_348); + RzIlOpPure *c_call_350 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_ADD_349, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_351 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_350, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_352 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_353 = SHIFTR0(DUP(Rt), op_MUL_352); + RzIlOpPure *op_AND_354 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_353, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_355 = CAST(16, MSB(op_AND_354), op_AND_354); + RzIlOpPure *op_MUL_356 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_357 = SHIFTR0(DUP(Rs), op_MUL_356); + RzIlOpPure *op_AND_358 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_357, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_359 = CAST(16, MSB(op_AND_358), op_AND_358); + RzIlOpPure *op_ADD_360 = ADD(cast_st16_355, cast_st16_359); + RzIlOpPure *op_EQ = EQ(cond_351, op_ADD_360); + RzIlOpPure *op_MUL_361 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_362 = SHIFTR0(DUP(Rt), op_MUL_361); + RzIlOpPure *op_AND_363 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_362, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_364 = CAST(16, MSB(op_AND_363), op_AND_363); + RzIlOpPure *op_MUL_365 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_366 = SHIFTR0(DUP(Rs), op_MUL_365); + RzIlOpPure *op_AND_367 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_366, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_368 = CAST(16, MSB(op_AND_367), op_AND_367); + RzIlOpPure *op_ADD_369 = ADD(cast_st16_364, cast_st16_368); + RzIlOpPure *c_call_370 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_371 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_372 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_373 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_371, c_call_372, VARLP("const_pos1"))); + RzIlOpPure *cond_374 = ITE(c_call_370, c_call_373, usr); + RzIlOpPure *op_MUL_376 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_377 = SHIFTR0(DUP(Rt), op_MUL_376); + RzIlOpPure *op_AND_378 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_377, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_379 = CAST(32, IL_FALSE, op_AND_378); + RzIlOpPure *op_MUL_380 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_381 = SHIFTR0(DUP(Rs), op_MUL_380); + RzIlOpPure *op_AND_382 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_381, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_383 = CAST(16, MSB(op_AND_382), op_AND_382); + RzIlOpPure *op_ADD_384 = ADD(cast_st16_379, cast_st16_383); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(op_ADD_384, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_385 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_386 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_385)); + RzIlOpPure *op_NEG_387 = NEG(op_LSHIFT_386); + RzIlOpPure *op_SUB_388 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_389 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_388)); + RzIlOpPure *op_SUB_390 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_389, VARLP("const_pos1"))); + RzIlOpPure *cond_391 = ITE(op_LT, op_NEG_387, op_SUB_390); + RzIlOpPure *cond_392 = ITE(op_EQ, op_ADD_369, cond_391); + + // WRITE + RzIlOpEffect *op_ASSIGN_375 = SETG(usr_assoc, cond_374); + RzIlOpEffect *op_ASSIGN_393 = SETG(Rd_assoc, cond_392); + + return SEQN(op_ASSIGN_393); +} + +RzILOpEffect *hex_il_op_a2_addh_l16_sat_ll(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_394 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_395 = SHIFTR0(Rt, op_MUL_394); + RzIlOpPure *op_AND_396 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_395, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_397 = CAST(16, MSB(op_AND_396), op_AND_396); + RzIlOpPure *op_MUL_398 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_399 = SHIFTR0(Rs, op_MUL_398); + RzIlOpPure *op_AND_400 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_399, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_401 = CAST(16, MSB(op_AND_400), op_AND_400); + RzIlOpPure *op_ADD_402 = ADD(cast_st16_397, cast_st16_401); + RzIlOpPure *c_call_403 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_ADD_402, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_404 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_403, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_405 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_406 = SHIFTR0(DUP(Rt), op_MUL_405); + RzIlOpPure *op_AND_407 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_406, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_408 = CAST(16, MSB(op_AND_407), op_AND_407); + RzIlOpPure *op_MUL_409 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_410 = SHIFTR0(DUP(Rs), op_MUL_409); + RzIlOpPure *op_AND_411 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_410, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_412 = CAST(16, MSB(op_AND_411), op_AND_411); + RzIlOpPure *op_ADD_413 = ADD(cast_st16_408, cast_st16_412); + RzIlOpPure *op_EQ = EQ(cond_404, op_ADD_413); + RzIlOpPure *op_MUL_414 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_415 = SHIFTR0(DUP(Rt), op_MUL_414); + RzIlOpPure *op_AND_416 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_415, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_417 = CAST(16, MSB(op_AND_416), op_AND_416); + RzIlOpPure *op_MUL_418 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_419 = SHIFTR0(DUP(Rs), op_MUL_418); + RzIlOpPure *op_AND_420 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_419, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_421 = CAST(16, MSB(op_AND_420), op_AND_420); + RzIlOpPure *op_ADD_422 = ADD(cast_st16_417, cast_st16_421); + RzIlOpPure *c_call_423 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_424 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_425 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_426 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_424, c_call_425, VARLP("const_pos1"))); + RzIlOpPure *cond_427 = ITE(c_call_423, c_call_426, usr); + RzIlOpPure *op_MUL_429 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_430 = SHIFTR0(DUP(Rt), op_MUL_429); + RzIlOpPure *op_AND_431 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_430, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_432 = CAST(32, IL_FALSE, op_AND_431); + RzIlOpPure *op_MUL_433 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_434 = SHIFTR0(DUP(Rs), op_MUL_433); + RzIlOpPure *op_AND_435 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_434, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_436 = CAST(16, MSB(op_AND_435), op_AND_435); + RzIlOpPure *op_ADD_437 = ADD(cast_st16_432, cast_st16_436); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(op_ADD_437, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_438 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_439 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_438)); + RzIlOpPure *op_NEG_440 = NEG(op_LSHIFT_439); + RzIlOpPure *op_SUB_441 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_442 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_441)); + RzIlOpPure *op_SUB_443 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_442, VARLP("const_pos1"))); + RzIlOpPure *cond_444 = ITE(op_LT, op_NEG_440, op_SUB_443); + RzIlOpPure *cond_445 = ITE(op_EQ, op_ADD_422, cond_444); + + // WRITE + RzIlOpEffect *op_ASSIGN_428 = SETG(usr_assoc, cond_427); + RzIlOpEffect *op_ASSIGN_446 = SETG(Rd_assoc, cond_445); + + return SEQN(op_ASSIGN_446); +} + +RzILOpEffect *hex_il_op_a2_addi(void *hi) { + // READ + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_ADD_447 = ADD(Rs, VARL("s")); + + // WRITE + RzIlOpEffect *op_ASSIGN_448 = SETG(Rd_assoc, op_ADD_447); + + return SEQN(s, op_ASSIGN_448); +} + +RzILOpEffect *hex_il_op_a2_addp(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + + // EXEC + RzIlOpPure *op_ADD_449 = ADD(Rss, Rtt); + + // WRITE + RzIlOpEffect *op_ASSIGN_450 = SETG(Rdd_assoc, op_ADD_449); + + return SEQN(op_ASSIGN_450); +} + +RzILOpEffect *hex_il_op_a2_addpsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a2_addsat(void *hi) { + // READ + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + // Declare: ut64 __a; + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *cast_ut64_451 = CAST(64, IL_FALSE, Rss); + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *cast_st32_453 = CAST(32, MSB(Rs), DUP(Rs)); + RzIlOpPure *cast_st64_454 = CAST(64, MSB(cast_st32_453), cast_st32_453); + RzIlOpPure *cast_st32_455 = CAST(32, MSB(Rt), DUP(Rt)); + RzIlOpPure *cast_st64_456 = CAST(64, MSB(cast_st32_455), cast_st32_455); + RzIlOpPure *op_ADD_457 = ADD(cast_st64_454, cast_st64_456); + RzIlOpPure *c_call_458 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(op_ADD_457, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_459 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_458, VARLP("const_pos0LL"))); + RzIlOpPure *cast_st32_460 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_461 = CAST(64, MSB(cast_st32_460), cast_st32_460); + RzIlOpPure *cast_st32_462 = CAST(32, MSB(DUP(Rt)), DUP(Rt)); + RzIlOpPure *cast_st64_463 = CAST(64, MSB(cast_st32_462), cast_st32_462); + RzIlOpPure *op_ADD_464 = ADD(cast_st64_461, cast_st64_463); + RzIlOpPure *op_EQ = EQ(cond_459, op_ADD_464); + RzIlOpPure *cast_st32_465 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_466 = CAST(64, MSB(cast_st32_465), cast_st32_465); + RzIlOpPure *cast_st32_467 = CAST(32, MSB(DUP(Rt)), DUP(Rt)); + RzIlOpPure *cast_st64_468 = CAST(64, MSB(cast_st32_467), cast_st32_467); + RzIlOpPure *op_ADD_469 = ADD(cast_st64_466, cast_st64_468); + RzIlOpPure *c_call_470 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_471 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_472 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_473 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_471, c_call_472, VARLP("const_pos1"))); + RzIlOpPure *cond_474 = ITE(c_call_470, c_call_473, usr); + RzIlOpPure *cast_st32_476 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_477 = CAST(32, IL_FALSE, cast_st32_476); + RzIlOpPure *cast_st32_478 = CAST(32, MSB(DUP(Rt)), DUP(Rt)); + RzIlOpPure *cast_st64_479 = CAST(64, MSB(cast_st32_478), cast_st32_478); + RzIlOpPure *op_ADD_480 = ADD(cast_st64_477, cast_st64_479); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(op_ADD_480, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_481 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_482 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_481)); + RzIlOpPure *op_NEG_483 = NEG(op_LSHIFT_482); + RzIlOpPure *op_SUB_484 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_485 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_484)); + RzIlOpPure *op_SUB_486 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_485, VARLP("const_pos1"))); + RzIlOpPure *cond_487 = ITE(op_LT, op_NEG_483, op_SUB_486); + RzIlOpPure *cond_488 = ITE(op_EQ, op_ADD_469, cond_487); + + // WRITE + RzIlOpEffect *op_ASSIGN_452 = SETL("__a", cast_ut64_451); + RzIlOpEffect *op_ASSIGN_475 = SETG(usr_assoc, cond_474); + RzIlOpEffect *op_ASSIGN_489 = SETG(Rd_assoc, cond_488); + + return SEQN(op_ASSIGN_489); +} + +RzILOpEffect *hex_il_op_a2_addsph(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_490 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_491 = SHIFTR0(Rss, op_MUL_490); + RzIlOpPure *op_AND_492 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_491, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_493 = CAST(32, MSB(op_AND_492), op_AND_492); + RzIlOpPure *cast_st64_494 = CAST(64, MSB(cast_st32_493), cast_st32_493); + RzIlOpPure *c_call_495 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_494, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_496 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_495, VARLP("const_pos0LL"))); + RzIlOpPure *op_ADD_497 = ADD(Rtt, cond_496); + + // WRITE + RzIlOpEffect *op_ASSIGN_498 = SETG(Rdd_assoc, op_ADD_497); + + return SEQN(op_ASSIGN_498); +} + +RzILOpEffect *hex_il_op_a2_addspl(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_499 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_500 = SHIFTR0(Rss, op_MUL_499); + RzIlOpPure *op_AND_501 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_500, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_502 = CAST(32, MSB(op_AND_501), op_AND_501); + RzIlOpPure *cast_st64_503 = CAST(64, MSB(cast_st32_502), cast_st32_502); + RzIlOpPure *c_call_504 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_503, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_505 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_504, VARLP("const_pos0LL"))); + RzIlOpPure *op_ADD_506 = ADD(Rtt, cond_505); + + // WRITE + RzIlOpEffect *op_ASSIGN_507 = SETG(Rdd_assoc, op_ADD_506); + + return SEQN(op_ASSIGN_507); +} + +RzILOpEffect *hex_il_op_a2_and(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_508 = LOGAND(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_509 = SETG(Rd_assoc, op_AND_508); + + return SEQN(op_ASSIGN_509); +} + +RzILOpEffect *hex_il_op_a2_andir(void *hi) { + // READ + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_AND_510 = LOGAND(Rs, VARL("s")); + + // WRITE + RzIlOpEffect *op_ASSIGN_511 = SETG(Rd_assoc, op_AND_510); + + return SEQN(s, op_ASSIGN_511); +} + +RzILOpEffect *hex_il_op_a2_andp(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + + // EXEC + RzIlOpPure *op_AND_512 = LOGAND(Rss, Rtt); + + // WRITE + RzIlOpEffect *op_ASSIGN_513 = SETG(Rdd_assoc, op_AND_512); + + return SEQN(op_ASSIGN_513); +} + +RzILOpEffect *hex_il_op_a2_aslh(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + + // EXEC + RzIlOpPure *op_LSHIFT_514 = LET("const_pos16", const_pos16, SHIFTL0(Rs, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_515 = SETG(Rd_assoc, op_LSHIFT_514); + + return SEQN(op_ASSIGN_515); +} + +RzILOpEffect *hex_il_op_a2_asrh(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + + // EXEC + RzIlOpPure *op_RSHIFT_516 = LET("const_pos16", const_pos16, SHIFTR0(Rs, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_517 = SETG(Rd_assoc, op_RSHIFT_516); + + return SEQN(op_ASSIGN_517); +} + +RzILOpEffect *hex_il_op_a2_combine_hh(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_MUL_518 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_519 = SHIFTR0(Rt, op_MUL_518); + RzIlOpPure *op_AND_520 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_519, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_521 = CAST(16, IL_FALSE, op_AND_520); + RzIlOpPure *op_LSHIFT_522 = LET("const_pos16", const_pos16, SHIFTL0(cast_ut16_521, VARLP("const_pos16"))); + RzIlOpPure *op_MUL_523 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_524 = SHIFTR0(Rs, op_MUL_523); + RzIlOpPure *op_AND_525 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_524, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_526 = CAST(16, IL_FALSE, op_AND_525); + RzIlOpPure *op_OR_527 = LOGOR(op_LSHIFT_522, cast_ut16_526); + + // WRITE + RzIlOpEffect *op_ASSIGN_528 = SETG(Rd_assoc, op_OR_527); + + return SEQN(op_ASSIGN_528); +} + +RzILOpEffect *hex_il_op_a2_combine_hl(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + + // EXEC + RzIlOpPure *op_MUL_529 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_530 = SHIFTR0(Rt, op_MUL_529); + RzIlOpPure *op_AND_531 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_530, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_532 = CAST(16, IL_FALSE, op_AND_531); + RzIlOpPure *op_LSHIFT_533 = LET("const_pos16", const_pos16, SHIFTL0(cast_ut16_532, VARLP("const_pos16"))); + RzIlOpPure *op_MUL_534 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_535 = SHIFTR0(Rs, op_MUL_534); + RzIlOpPure *op_AND_536 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_535, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_537 = CAST(16, IL_FALSE, op_AND_536); + RzIlOpPure *op_OR_538 = LOGOR(op_LSHIFT_533, cast_ut16_537); + + // WRITE + RzIlOpEffect *op_ASSIGN_539 = SETG(Rd_assoc, op_OR_538); + + return SEQN(op_ASSIGN_539); +} + +RzILOpEffect *hex_il_op_a2_combine_lh(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_MUL_540 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_541 = SHIFTR0(Rt, op_MUL_540); + RzIlOpPure *op_AND_542 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_541, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_543 = CAST(16, IL_FALSE, op_AND_542); + RzIlOpPure *op_LSHIFT_544 = LET("const_pos16", const_pos16, SHIFTL0(cast_ut16_543, VARLP("const_pos16"))); + RzIlOpPure *op_MUL_545 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_546 = SHIFTR0(Rs, op_MUL_545); + RzIlOpPure *op_AND_547 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_546, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_548 = CAST(16, IL_FALSE, op_AND_547); + RzIlOpPure *op_OR_549 = LOGOR(op_LSHIFT_544, cast_ut16_548); + + // WRITE + RzIlOpEffect *op_ASSIGN_550 = SETG(Rd_assoc, op_OR_549); + + return SEQN(op_ASSIGN_550); +} + +RzILOpEffect *hex_il_op_a2_combine_ll(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_MUL_551 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_552 = SHIFTR0(Rt, op_MUL_551); + RzIlOpPure *op_AND_553 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_552, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_554 = CAST(16, IL_FALSE, op_AND_553); + RzIlOpPure *op_LSHIFT_555 = LET("const_pos16", const_pos16, SHIFTL0(cast_ut16_554, VARLP("const_pos16"))); + RzIlOpPure *op_MUL_556 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_557 = SHIFTR0(Rs, op_MUL_556); + RzIlOpPure *op_AND_558 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_557, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_559 = CAST(16, IL_FALSE, op_AND_558); + RzIlOpPure *op_OR_560 = LOGOR(op_LSHIFT_555, cast_ut16_559); + + // WRITE + RzIlOpEffect *op_ASSIGN_561 = SETG(Rd_assoc, op_OR_560); + + return SEQN(op_ASSIGN_561); +} + +RzILOpEffect *hex_il_op_a2_combineii(void *hi) { + // READ + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *S = UN((ut64)ISA2IMM(hi, "S")) + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_MUL_562 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_563 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_562)); + RzIlOpPure *op_NOT_564 = LOGNOT(op_LSHIFT_563); + RzIlOpPure *op_AND_565 = LOGAND(Rdd, op_NOT_564); + RzIlOpPure *op_AND_566 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("S"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_567 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_568 = SHIFTL0(op_AND_566, op_MUL_567); + RzIlOpPure *op_OR_569 = LOGOR(op_AND_565, op_LSHIFT_568); + RzIlOpPure *op_MUL_572 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_573 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_572)); + RzIlOpPure *op_NOT_574 = LOGNOT(op_LSHIFT_573); + RzIlOpPure *op_AND_575 = LOGAND(DUP(Rdd), op_NOT_574); + RzIlOpPure *op_AND_576 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("s"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_577 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_578 = SHIFTL0(op_AND_576, op_MUL_577); + RzIlOpPure *op_OR_579 = LOGOR(op_AND_575, op_LSHIFT_578); + + // WRITE + RzIlOpEffect *op_ASSIGN_570 = SETG(Rdd_assoc, op_OR_569); + RzIlOpEffect *empty_571 = EMPTY(); + RzIlOpEffect *op_ASSIGN_580 = SETG(Rdd_assoc, op_OR_579); + RzIlOpEffect *empty_581 = EMPTY(); + + return SEQN(s, op_ASSIGN_570, empty_571, op_ASSIGN_580, empty_581); +} + +RzILOpEffect *hex_il_op_a2_combinew(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_MUL_582 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_583 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_582)); + RzIlOpPure *op_NOT_584 = LOGNOT(op_LSHIFT_583); + RzIlOpPure *op_AND_585 = LOGAND(Rdd, op_NOT_584); + RzIlOpPure *op_AND_586 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(Rt, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_587 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_588 = SHIFTL0(op_AND_586, op_MUL_587); + RzIlOpPure *op_OR_589 = LOGOR(op_AND_585, op_LSHIFT_588); + RzIlOpPure *op_MUL_592 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_593 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_592)); + RzIlOpPure *op_NOT_594 = LOGNOT(op_LSHIFT_593); + RzIlOpPure *op_AND_595 = LOGAND(DUP(Rdd), op_NOT_594); + RzIlOpPure *op_AND_596 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(Rs, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_597 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_598 = SHIFTL0(op_AND_596, op_MUL_597); + RzIlOpPure *op_OR_599 = LOGOR(op_AND_595, op_LSHIFT_598); + + // WRITE + RzIlOpEffect *op_ASSIGN_590 = SETG(Rdd_assoc, op_OR_589); + RzIlOpEffect *empty_591 = EMPTY(); + RzIlOpEffect *op_ASSIGN_600 = SETG(Rdd_assoc, op_OR_599); + RzIlOpEffect *empty_601 = EMPTY(); + + return SEQN(op_ASSIGN_590, empty_591, op_ASSIGN_600, empty_601); +} + +RzILOpEffect *hex_il_op_a2_max(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_GT = UGT(Rs, Rt); + RzIlOpPure *cond_602 = ITE(op_GT, DUP(Rs), DUP(Rt)); + + // WRITE + RzIlOpEffect *op_ASSIGN_603 = SETG(Rd_assoc, cond_602); + + return SEQN(op_ASSIGN_603); +} + +RzILOpEffect *hex_il_op_a2_maxp(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + + // EXEC + RzIlOpPure *op_GT = UGT(Rss, Rtt); + RzIlOpPure *cond_604 = ITE(op_GT, DUP(Rss), DUP(Rtt)); + + // WRITE + RzIlOpEffect *op_ASSIGN_605 = SETG(Rdd_assoc, cond_604); + + return SEQN(op_ASSIGN_605); +} + +RzILOpEffect *hex_il_op_a2_maxu(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *cast_ut32_606 = CAST(32, IL_FALSE, Rs); + RzIlOpPure *cast_ut32_607 = CAST(32, IL_FALSE, Rt); + RzIlOpPure *op_GT = UGT(cast_ut32_606, cast_ut32_607); + RzIlOpPure *cast_ut32_608 = CAST(32, IL_FALSE, DUP(Rs)); + RzIlOpPure *cast_ut32_609 = CAST(32, IL_FALSE, DUP(Rt)); + RzIlOpPure *cond_610 = ITE(op_GT, cast_ut32_608, cast_ut32_609); + + // WRITE + RzIlOpEffect *op_ASSIGN_611 = SETG(Rd_assoc, cond_610); + + return SEQN(op_ASSIGN_611); +} + +RzILOpEffect *hex_il_op_a2_maxup(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + + // EXEC + RzIlOpPure *cast_ut64_612 = CAST(64, IL_FALSE, Rss); + RzIlOpPure *cast_ut64_613 = CAST(64, IL_FALSE, Rtt); + RzIlOpPure *op_GT = UGT(cast_ut64_612, cast_ut64_613); + RzIlOpPure *cast_ut64_614 = CAST(64, IL_FALSE, DUP(Rss)); + RzIlOpPure *cast_ut64_615 = CAST(64, IL_FALSE, DUP(Rtt)); + RzIlOpPure *cond_616 = ITE(op_GT, cast_ut64_614, cast_ut64_615); + + // WRITE + RzIlOpEffect *op_ASSIGN_617 = SETG(Rdd_assoc, cond_616); + + return SEQN(op_ASSIGN_617); +} + +RzILOpEffect *hex_il_op_a2_min(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_LT = ULT(Rt, Rs); + RzIlOpPure *cond_618 = ITE(op_LT, DUP(Rt), DUP(Rs)); + + // WRITE + RzIlOpEffect *op_ASSIGN_619 = SETG(Rd_assoc, cond_618); + + return SEQN(op_ASSIGN_619); +} + +RzILOpEffect *hex_il_op_a2_minp(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_LT = ULT(Rtt, Rss); + RzIlOpPure *cond_620 = ITE(op_LT, DUP(Rtt), DUP(Rss)); + + // WRITE + RzIlOpEffect *op_ASSIGN_621 = SETG(Rdd_assoc, cond_620); + + return SEQN(op_ASSIGN_621); +} + +RzILOpEffect *hex_il_op_a2_minu(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *cast_ut32_622 = CAST(32, IL_FALSE, Rt); + RzIlOpPure *cast_ut32_623 = CAST(32, IL_FALSE, Rs); + RzIlOpPure *op_LT = ULT(cast_ut32_622, cast_ut32_623); + RzIlOpPure *cast_ut32_624 = CAST(32, IL_FALSE, DUP(Rt)); + RzIlOpPure *cast_ut32_625 = CAST(32, IL_FALSE, DUP(Rs)); + RzIlOpPure *cond_626 = ITE(op_LT, cast_ut32_624, cast_ut32_625); + + // WRITE + RzIlOpEffect *op_ASSIGN_627 = SETG(Rd_assoc, cond_626); + + return SEQN(op_ASSIGN_627); +} + +RzILOpEffect *hex_il_op_a2_minup(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *cast_ut64_628 = CAST(64, IL_FALSE, Rtt); + RzIlOpPure *cast_ut64_629 = CAST(64, IL_FALSE, Rss); + RzIlOpPure *op_LT = ULT(cast_ut64_628, cast_ut64_629); + RzIlOpPure *cast_ut64_630 = CAST(64, IL_FALSE, DUP(Rtt)); + RzIlOpPure *cast_ut64_631 = CAST(64, IL_FALSE, DUP(Rss)); + RzIlOpPure *cond_632 = ITE(op_LT, cast_ut64_630, cast_ut64_631); + + // WRITE + RzIlOpEffect *op_ASSIGN_633 = SETG(Rdd_assoc, cond_632); + + return SEQN(op_ASSIGN_633); +} + +RzILOpEffect *hex_il_op_a2_negp(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_NEG_634 = NEG(Rss); + + // WRITE + RzIlOpEffect *op_ASSIGN_635 = SETG(Rdd_assoc, op_NEG_634); + + return SEQN(op_ASSIGN_635); +} + +RzILOpEffect *hex_il_op_a2_negsat(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *cast_st64_636 = CAST(64, MSB(Rs), DUP(Rs)); + RzIlOpPure *op_NEG_637 = NEG(cast_st64_636); + RzIlOpPure *c_call_638 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(op_NEG_637, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_639 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_638, VARLP("const_pos0LL"))); + RzIlOpPure *cast_st64_640 = CAST(64, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *op_NEG_641 = NEG(cast_st64_640); + RzIlOpPure *op_EQ = EQ(cond_639, op_NEG_641); + RzIlOpPure *cast_st64_642 = CAST(64, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *op_NEG_643 = NEG(cast_st64_642); + RzIlOpPure *c_call_644 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_645 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_646 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_647 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_645, c_call_646, VARLP("const_pos1"))); + RzIlOpPure *cond_648 = ITE(c_call_644, c_call_647, usr); + RzIlOpPure *cast_st64_650 = CAST(32, IL_FALSE, DUP(Rs)); + RzIlOpPure *op_NEG_651 = NEG(cast_st64_650); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(op_NEG_651, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_652 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_653 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_652)); + RzIlOpPure *op_NEG_654 = NEG(op_LSHIFT_653); + RzIlOpPure *op_SUB_655 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_656 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_655)); + RzIlOpPure *op_SUB_657 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_656, VARLP("const_pos1"))); + RzIlOpPure *cond_658 = ITE(op_LT, op_NEG_654, op_SUB_657); + RzIlOpPure *cond_659 = ITE(op_EQ, op_NEG_643, cond_658); + + // WRITE + RzIlOpEffect *op_ASSIGN_649 = SETG(usr_assoc, cond_648); + RzIlOpEffect *op_ASSIGN_660 = SETG(Rd_assoc, cond_659); + + return SEQN(op_ASSIGN_660); +} + +RzILOpEffect *hex_il_op_a2_nop(void *hi) { + // READ + + // EXEC + + // WRITE + RzIlOpEffect *empty_661 = EMPTY(); + + return SEQN(empty_661); +} + +RzILOpEffect *hex_il_op_a2_notp(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_NOT_662 = LOGNOT(Rss); + + // WRITE + RzIlOpEffect *op_ASSIGN_663 = SETG(Rdd_assoc, op_NOT_662); + + return SEQN(op_ASSIGN_663); +} + +RzILOpEffect *hex_il_op_a2_or(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_OR_664 = LOGOR(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_665 = SETG(Rd_assoc, op_OR_664); + + return SEQN(op_ASSIGN_665); +} + +RzILOpEffect *hex_il_op_a2_orir(void *hi) { + // READ + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_OR_666 = LOGOR(Rs, VARL("s")); + + // WRITE + RzIlOpEffect *op_ASSIGN_667 = SETG(Rd_assoc, op_OR_666); + + return SEQN(s, op_ASSIGN_667); +} + +RzILOpEffect *hex_il_op_a2_orp(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + + // EXEC + RzIlOpPure *op_OR_668 = LOGOR(Rss, Rtt); + + // WRITE + RzIlOpEffect *op_ASSIGN_669 = SETG(Rdd_assoc, op_OR_668); + + return SEQN(op_ASSIGN_669); +} + +RzILOpEffect *hex_il_op_a2_paddf(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_670 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_ADD_671 = ADD(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_672 = SETG(Rd_assoc, op_ADD_671); + RzIlOpEffect *nop_673 = NOP; + RzIlOpEffect *seq_then_674 = SEQN(op_ASSIGN_672); + RzIlOpEffect *seq_else_676 = SEQN(nop_673); + RzIlOpEffect *branch_675 = BRANCH(op_AND_670, seq_then_674, seq_else_676); + + return SEQN(branch_675); +} + +RzILOpEffect *hex_il_op_a2_paddfnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_677 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_ADD_678 = ADD(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_679 = SETG(Rd_assoc, op_ADD_678); + RzIlOpEffect *nop_680 = NOP; + RzIlOpEffect *seq_then_681 = SEQN(op_ASSIGN_679); + RzIlOpEffect *seq_else_683 = SEQN(nop_680); + RzIlOpEffect *branch_682 = BRANCH(op_AND_677, seq_then_681, seq_else_683); + + return SEQN(branch_682); +} + +RzILOpEffect *hex_il_op_a2_paddif(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_AND_684 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_ADD_685 = ADD(Rs, VARL("s")); + + // WRITE + RzIlOpEffect *op_ASSIGN_686 = SETG(Rd_assoc, op_ADD_685); + RzIlOpEffect *nop_687 = NOP; + RzIlOpEffect *seq_then_688 = SEQN(s, op_ASSIGN_686); + RzIlOpEffect *seq_else_690 = SEQN(nop_687); + RzIlOpEffect *branch_689 = BRANCH(op_AND_684, seq_then_688, seq_else_690); + + return SEQN(branch_689); +} + +RzILOpEffect *hex_il_op_a2_paddifnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_AND_691 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_ADD_692 = ADD(Rs, VARL("s")); + + // WRITE + RzIlOpEffect *op_ASSIGN_693 = SETG(Rd_assoc, op_ADD_692); + RzIlOpEffect *nop_694 = NOP; + RzIlOpEffect *seq_then_695 = SEQN(s, op_ASSIGN_693); + RzIlOpEffect *seq_else_697 = SEQN(nop_694); + RzIlOpEffect *branch_696 = BRANCH(op_AND_691, seq_then_695, seq_else_697); + + return SEQN(branch_696); +} + +RzILOpEffect *hex_il_op_a2_paddit(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_AND_698 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_ADD_699 = ADD(Rs, VARL("s")); + + // WRITE + RzIlOpEffect *op_ASSIGN_700 = SETG(Rd_assoc, op_ADD_699); + RzIlOpEffect *nop_701 = NOP; + RzIlOpEffect *seq_then_702 = SEQN(s, op_ASSIGN_700); + RzIlOpEffect *seq_else_704 = SEQN(nop_701); + RzIlOpEffect *branch_703 = BRANCH(op_AND_698, seq_then_702, seq_else_704); + + return SEQN(branch_703); +} + +RzILOpEffect *hex_il_op_a2_padditnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_AND_705 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_ADD_706 = ADD(Rs, VARL("s")); + + // WRITE + RzIlOpEffect *op_ASSIGN_707 = SETG(Rd_assoc, op_ADD_706); + RzIlOpEffect *nop_708 = NOP; + RzIlOpEffect *seq_then_709 = SEQN(s, op_ASSIGN_707); + RzIlOpEffect *seq_else_711 = SEQN(nop_708); + RzIlOpEffect *branch_710 = BRANCH(op_AND_705, seq_then_709, seq_else_711); + + return SEQN(branch_710); +} + +RzILOpEffect *hex_il_op_a2_paddt(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_712 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_ADD_713 = ADD(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_714 = SETG(Rd_assoc, op_ADD_713); + RzIlOpEffect *nop_715 = NOP; + RzIlOpEffect *seq_then_716 = SEQN(op_ASSIGN_714); + RzIlOpEffect *seq_else_718 = SEQN(nop_715); + RzIlOpEffect *branch_717 = BRANCH(op_AND_712, seq_then_716, seq_else_718); + + return SEQN(branch_717); +} + +RzILOpEffect *hex_il_op_a2_paddtnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_719 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_ADD_720 = ADD(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_721 = SETG(Rd_assoc, op_ADD_720); + RzIlOpEffect *nop_722 = NOP; + RzIlOpEffect *seq_then_723 = SEQN(op_ASSIGN_721); + RzIlOpEffect *seq_else_725 = SEQN(nop_722); + RzIlOpEffect *branch_724 = BRANCH(op_AND_719, seq_then_723, seq_else_725); + + return SEQN(branch_724); +} + +RzILOpEffect *hex_il_op_a2_pandf(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_726 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_AND_727 = LOGAND(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_728 = SETG(Rd_assoc, op_AND_727); + RzIlOpEffect *nop_729 = NOP; + RzIlOpEffect *seq_then_730 = SEQN(op_ASSIGN_728); + RzIlOpEffect *seq_else_732 = SEQN(nop_729); + RzIlOpEffect *branch_731 = BRANCH(op_AND_726, seq_then_730, seq_else_732); + + return SEQN(branch_731); +} + +RzILOpEffect *hex_il_op_a2_pandfnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_733 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_AND_734 = LOGAND(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_735 = SETG(Rd_assoc, op_AND_734); + RzIlOpEffect *nop_736 = NOP; + RzIlOpEffect *seq_then_737 = SEQN(op_ASSIGN_735); + RzIlOpEffect *seq_else_739 = SEQN(nop_736); + RzIlOpEffect *branch_738 = BRANCH(op_AND_733, seq_then_737, seq_else_739); + + return SEQN(branch_738); +} + +RzILOpEffect *hex_il_op_a2_pandt(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_740 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_AND_741 = LOGAND(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_742 = SETG(Rd_assoc, op_AND_741); + RzIlOpEffect *nop_743 = NOP; + RzIlOpEffect *seq_then_744 = SEQN(op_ASSIGN_742); + RzIlOpEffect *seq_else_746 = SEQN(nop_743); + RzIlOpEffect *branch_745 = BRANCH(op_AND_740, seq_then_744, seq_else_746); + + return SEQN(branch_745); +} + +RzILOpEffect *hex_il_op_a2_pandtnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_747 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_AND_748 = LOGAND(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_749 = SETG(Rd_assoc, op_AND_748); + RzIlOpEffect *nop_750 = NOP; + RzIlOpEffect *seq_then_751 = SEQN(op_ASSIGN_749); + RzIlOpEffect *seq_else_753 = SEQN(nop_750); + RzIlOpEffect *branch_752 = BRANCH(op_AND_747, seq_then_751, seq_else_753); + + return SEQN(branch_752); +} + +RzILOpEffect *hex_il_op_a2_porf(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_754 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_OR_755 = LOGOR(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_756 = SETG(Rd_assoc, op_OR_755); + RzIlOpEffect *nop_757 = NOP; + RzIlOpEffect *seq_then_758 = SEQN(op_ASSIGN_756); + RzIlOpEffect *seq_else_760 = SEQN(nop_757); + RzIlOpEffect *branch_759 = BRANCH(op_AND_754, seq_then_758, seq_else_760); + + return SEQN(branch_759); +} + +RzILOpEffect *hex_il_op_a2_porfnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_761 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_OR_762 = LOGOR(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_763 = SETG(Rd_assoc, op_OR_762); + RzIlOpEffect *nop_764 = NOP; + RzIlOpEffect *seq_then_765 = SEQN(op_ASSIGN_763); + RzIlOpEffect *seq_else_767 = SEQN(nop_764); + RzIlOpEffect *branch_766 = BRANCH(op_AND_761, seq_then_765, seq_else_767); + + return SEQN(branch_766); +} + +RzILOpEffect *hex_il_op_a2_port(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_768 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_OR_769 = LOGOR(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_770 = SETG(Rd_assoc, op_OR_769); + RzIlOpEffect *nop_771 = NOP; + RzIlOpEffect *seq_then_772 = SEQN(op_ASSIGN_770); + RzIlOpEffect *seq_else_774 = SEQN(nop_771); + RzIlOpEffect *branch_773 = BRANCH(op_AND_768, seq_then_772, seq_else_774); + + return SEQN(branch_773); +} + +RzILOpEffect *hex_il_op_a2_portnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_775 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_OR_776 = LOGOR(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_777 = SETG(Rd_assoc, op_OR_776); + RzIlOpEffect *nop_778 = NOP; + RzIlOpEffect *seq_then_779 = SEQN(op_ASSIGN_777); + RzIlOpEffect *seq_else_781 = SEQN(nop_778); + RzIlOpEffect *branch_780 = BRANCH(op_AND_775, seq_then_779, seq_else_781); + + return SEQN(branch_780); +} + +RzILOpEffect *hex_il_op_a2_psubf(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_AND_782 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_SUB_783 = SUB(Rt, Rs); + + // WRITE + RzIlOpEffect *op_ASSIGN_784 = SETG(Rd_assoc, op_SUB_783); + RzIlOpEffect *nop_785 = NOP; + RzIlOpEffect *seq_then_786 = SEQN(op_ASSIGN_784); + RzIlOpEffect *seq_else_788 = SEQN(nop_785); + RzIlOpEffect *branch_787 = BRANCH(op_AND_782, seq_then_786, seq_else_788); + + return SEQN(branch_787); +} + +RzILOpEffect *hex_il_op_a2_psubfnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_AND_789 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_SUB_790 = SUB(Rt, Rs); + + // WRITE + RzIlOpEffect *op_ASSIGN_791 = SETG(Rd_assoc, op_SUB_790); + RzIlOpEffect *nop_792 = NOP; + RzIlOpEffect *seq_then_793 = SEQN(op_ASSIGN_791); + RzIlOpEffect *seq_else_795 = SEQN(nop_792); + RzIlOpEffect *branch_794 = BRANCH(op_AND_789, seq_then_793, seq_else_795); + + return SEQN(branch_794); +} + +RzILOpEffect *hex_il_op_a2_psubt(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_AND_796 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_SUB_797 = SUB(Rt, Rs); + + // WRITE + RzIlOpEffect *op_ASSIGN_798 = SETG(Rd_assoc, op_SUB_797); + RzIlOpEffect *nop_799 = NOP; + RzIlOpEffect *seq_then_800 = SEQN(op_ASSIGN_798); + RzIlOpEffect *seq_else_802 = SEQN(nop_799); + RzIlOpEffect *branch_801 = BRANCH(op_AND_796, seq_then_800, seq_else_802); + + return SEQN(branch_801); +} + +RzILOpEffect *hex_il_op_a2_psubtnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_AND_803 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_SUB_804 = SUB(Rt, Rs); + + // WRITE + RzIlOpEffect *op_ASSIGN_805 = SETG(Rd_assoc, op_SUB_804); + RzIlOpEffect *nop_806 = NOP; + RzIlOpEffect *seq_then_807 = SEQN(op_ASSIGN_805); + RzIlOpEffect *seq_else_809 = SEQN(nop_806); + RzIlOpEffect *branch_808 = BRANCH(op_AND_803, seq_then_807, seq_else_809); + + return SEQN(branch_808); +} + +RzILOpEffect *hex_il_op_a2_pxorf(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_810 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_XOR_811 = LOGXOR(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_812 = SETG(Rd_assoc, op_XOR_811); + RzIlOpEffect *nop_813 = NOP; + RzIlOpEffect *seq_then_814 = SEQN(op_ASSIGN_812); + RzIlOpEffect *seq_else_816 = SEQN(nop_813); + RzIlOpEffect *branch_815 = BRANCH(op_AND_810, seq_then_814, seq_else_816); + + return SEQN(branch_815); +} + +RzILOpEffect *hex_il_op_a2_pxorfnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_817 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_XOR_818 = LOGXOR(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_819 = SETG(Rd_assoc, op_XOR_818); + RzIlOpEffect *nop_820 = NOP; + RzIlOpEffect *seq_then_821 = SEQN(op_ASSIGN_819); + RzIlOpEffect *seq_else_823 = SEQN(nop_820); + RzIlOpEffect *branch_822 = BRANCH(op_AND_817, seq_then_821, seq_else_823); + + return SEQN(branch_822); +} + +RzILOpEffect *hex_il_op_a2_pxort(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_824 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_XOR_825 = LOGXOR(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_826 = SETG(Rd_assoc, op_XOR_825); + RzIlOpEffect *nop_827 = NOP; + RzIlOpEffect *seq_then_828 = SEQN(op_ASSIGN_826); + RzIlOpEffect *seq_else_830 = SEQN(nop_827); + RzIlOpEffect *branch_829 = BRANCH(op_AND_824, seq_then_828, seq_else_830); + + return SEQN(branch_829); +} + +RzILOpEffect *hex_il_op_a2_pxortnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_AND_831 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_XOR_832 = LOGXOR(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_833 = SETG(Rd_assoc, op_XOR_832); + RzIlOpEffect *nop_834 = NOP; + RzIlOpEffect *seq_then_835 = SEQN(op_ASSIGN_833); + RzIlOpEffect *seq_else_837 = SEQN(nop_834); + RzIlOpEffect *branch_836 = BRANCH(op_AND_831, seq_then_835, seq_else_837); + + return SEQN(branch_836); +} + +RzILOpEffect *hex_il_op_a2_roundsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a2_sat(void *hi) { + // READ + // Declare: st8 tmp; + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + // Declare: ut64 __a; + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *cast_ut64_838 = CAST(64, IL_FALSE, Rss); + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_840 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(DUP(Rss), VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_841 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_840, VARLP("const_pos0LL"))); + RzIlOpPure *op_EQ = EQ(cond_841, DUP(Rss)); + RzIlOpPure *c_call_842 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_843 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_844 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_845 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_843, c_call_844, VARLP("const_pos1"))); + RzIlOpPure *cond_846 = ITE(c_call_842, c_call_845, usr); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(DUP(Rss), VARLP("const_pos0"))); + RzIlOpPure *op_SUB_848 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_849 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_848)); + RzIlOpPure *op_NEG_850 = NEG(op_LSHIFT_849); + RzIlOpPure *op_SUB_851 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_852 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_851)); + RzIlOpPure *op_SUB_853 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_852, VARLP("const_pos1"))); + RzIlOpPure *cond_854 = ITE(op_LT, op_NEG_850, op_SUB_853); + RzIlOpPure *cond_855 = ITE(op_EQ, DUP(Rss), cond_854); + + // WRITE + RzIlOpEffect *op_ASSIGN_839 = SETL("__a", cast_ut64_838); + RzIlOpEffect *op_ASSIGN_847 = SETG(usr_assoc, cond_846); + RzIlOpEffect *op_ASSIGN_856 = SETG(Rd_assoc, cond_855); + + return SEQN(op_ASSIGN_856); +} + +RzILOpEffect *hex_il_op_a2_satb(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos8", const_pos8, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos8"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_857 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, HEX_SEXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *cond_858 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_857, VARLP("const_pos0LL"))); + RzIlOpPure *op_EQ = EQ(cond_858, DUP(Rs)); + RzIlOpPure *c_call_859 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_860 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_861 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_862 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_860, c_call_861, VARLP("const_pos1"))); + RzIlOpPure *cond_863 = ITE(c_call_859, c_call_862, usr); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(DUP(Rs), VARLP("const_pos0"))); + RzIlOpPure *op_SUB_865 = LET("const_pos8", const_pos8, LET("const_pos1", const_pos1, SUB(VARLP("const_pos8"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_866 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_865)); + RzIlOpPure *op_NEG_867 = NEG(op_LSHIFT_866); + RzIlOpPure *op_SUB_868 = LET("const_pos8", const_pos8, LET("const_pos1", const_pos1, SUB(VARLP("const_pos8"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_869 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_868)); + RzIlOpPure *op_SUB_870 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_869, VARLP("const_pos1"))); + RzIlOpPure *cond_871 = ITE(op_LT, op_NEG_867, op_SUB_870); + RzIlOpPure *cond_872 = ITE(op_EQ, DUP(Rs), cond_871); + + // WRITE + RzIlOpEffect *op_ASSIGN_864 = SETG(usr_assoc, cond_863); + RzIlOpEffect *op_ASSIGN_873 = SETG(Rd_assoc, cond_872); + + return SEQN(op_ASSIGN_873); +} + +RzILOpEffect *hex_il_op_a2_sath(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_874 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_875 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_874, VARLP("const_pos0LL"))); + RzIlOpPure *op_EQ = EQ(cond_875, DUP(Rs)); + RzIlOpPure *c_call_876 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_877 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_878 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_879 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_877, c_call_878, VARLP("const_pos1"))); + RzIlOpPure *cond_880 = ITE(c_call_876, c_call_879, usr); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(DUP(Rs), VARLP("const_pos0"))); + RzIlOpPure *op_SUB_882 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_883 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_882)); + RzIlOpPure *op_NEG_884 = NEG(op_LSHIFT_883); + RzIlOpPure *op_SUB_885 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_886 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_885)); + RzIlOpPure *op_SUB_887 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_886, VARLP("const_pos1"))); + RzIlOpPure *cond_888 = ITE(op_LT, op_NEG_884, op_SUB_887); + RzIlOpPure *cond_889 = ITE(op_EQ, DUP(Rs), cond_888); + + // WRITE + RzIlOpEffect *op_ASSIGN_881 = SETG(usr_assoc, cond_880); + RzIlOpEffect *op_ASSIGN_890 = SETG(Rd_assoc, cond_889); + + return SEQN(op_ASSIGN_890); +} + +RzILOpEffect *hex_il_op_a2_satub(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = UN(32, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos8", const_pos8, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos8"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_891 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, HEX_EXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *cond_892 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_891, VARLP("const_pos0LL"))); + RzIlOpPure *op_EQ = EQ(cond_892, DUP(Rs)); + RzIlOpPure *c_call_893 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_894 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_895 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_896 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_894, c_call_895, VARLP("const_pos1"))); + RzIlOpPure *cond_897 = ITE(c_call_893, c_call_896, usr); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(DUP(Rs), VARLP("const_pos0"))); + RzIlOpPure *op_LSHIFT_899 = LET("const_pos1LL", const_pos1LL, LET("const_pos8", const_pos8, SHIFTL0(VARLP("const_pos1LL"), VARLP("const_pos8")))); + RzIlOpPure *op_SUB_900 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_899, VARLP("const_pos1"))); + RzIlOpPure *cond_901 = LET("const_pos0", const_pos0, ITE(op_LT, VARLP("const_pos0"), op_SUB_900)); + RzIlOpPure *cond_902 = ITE(op_EQ, DUP(Rs), cond_901); + + // WRITE + RzIlOpEffect *op_ASSIGN_898 = SETG(usr_assoc, cond_897); + RzIlOpEffect *op_ASSIGN_903 = SETG(Rd_assoc, cond_902); + + return SEQN(op_ASSIGN_903); +} + +RzILOpEffect *hex_il_op_a2_satuh(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = UN(32, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_904 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_EXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_905 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_904, VARLP("const_pos0LL"))); + RzIlOpPure *op_EQ = EQ(cond_905, DUP(Rs)); + RzIlOpPure *c_call_906 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_907 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_908 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_909 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_907, c_call_908, VARLP("const_pos1"))); + RzIlOpPure *cond_910 = ITE(c_call_906, c_call_909, usr); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(DUP(Rs), VARLP("const_pos0"))); + RzIlOpPure *op_LSHIFT_912 = LET("const_pos1LL", const_pos1LL, LET("const_pos16", const_pos16, SHIFTL0(VARLP("const_pos1LL"), VARLP("const_pos16")))); + RzIlOpPure *op_SUB_913 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_912, VARLP("const_pos1"))); + RzIlOpPure *cond_914 = LET("const_pos0", const_pos0, ITE(op_LT, VARLP("const_pos0"), op_SUB_913)); + RzIlOpPure *cond_915 = ITE(op_EQ, DUP(Rs), cond_914); + + // WRITE + RzIlOpEffect *op_ASSIGN_911 = SETG(usr_assoc, cond_910); + RzIlOpEffect *op_ASSIGN_916 = SETG(Rd_assoc, cond_915); + + return SEQN(op_ASSIGN_916); +} + +RzILOpEffect *hex_il_op_a2_sub(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_SUB_917 = SUB(Rt, Rs); + + // WRITE + RzIlOpEffect *op_ASSIGN_918 = SETG(Rd_assoc, op_SUB_917); + + return SEQN(op_ASSIGN_918); +} + +RzILOpEffect *hex_il_op_a2_subh_h16_hh(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_MUL_919 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_920 = SHIFTR0(Rt, op_MUL_919); + RzIlOpPure *op_AND_921 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_920, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_922 = CAST(16, MSB(op_AND_921), op_AND_921); + RzIlOpPure *op_MUL_923 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_924 = SHIFTR0(Rs, op_MUL_923); + RzIlOpPure *op_AND_925 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_924, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_926 = CAST(16, MSB(op_AND_925), op_AND_925); + RzIlOpPure *op_SUB_927 = SUB(cast_st16_922, cast_st16_926); + RzIlOpPure *op_LSHIFT_928 = LET("const_pos16", const_pos16, SHIFTL0(op_SUB_927, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_929 = SETG(Rd_assoc, op_LSHIFT_928); + + return SEQN(op_ASSIGN_929); +} + +RzILOpEffect *hex_il_op_a2_subh_h16_hl(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + + // EXEC + RzIlOpPure *op_MUL_930 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_931 = SHIFTR0(Rt, op_MUL_930); + RzIlOpPure *op_AND_932 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_931, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_933 = CAST(16, MSB(op_AND_932), op_AND_932); + RzIlOpPure *op_MUL_934 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_935 = SHIFTR0(Rs, op_MUL_934); + RzIlOpPure *op_AND_936 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_935, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_937 = CAST(16, MSB(op_AND_936), op_AND_936); + RzIlOpPure *op_SUB_938 = SUB(cast_st16_933, cast_st16_937); + RzIlOpPure *op_LSHIFT_939 = LET("const_pos16", const_pos16, SHIFTL0(op_SUB_938, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_940 = SETG(Rd_assoc, op_LSHIFT_939); + + return SEQN(op_ASSIGN_940); +} + +RzILOpEffect *hex_il_op_a2_subh_h16_lh(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_MUL_941 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_942 = SHIFTR0(Rt, op_MUL_941); + RzIlOpPure *op_AND_943 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_942, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_944 = CAST(16, MSB(op_AND_943), op_AND_943); + RzIlOpPure *op_MUL_945 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_946 = SHIFTR0(Rs, op_MUL_945); + RzIlOpPure *op_AND_947 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_946, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_948 = CAST(16, MSB(op_AND_947), op_AND_947); + RzIlOpPure *op_SUB_949 = SUB(cast_st16_944, cast_st16_948); + RzIlOpPure *op_LSHIFT_950 = LET("const_pos16", const_pos16, SHIFTL0(op_SUB_949, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_951 = SETG(Rd_assoc, op_LSHIFT_950); + + return SEQN(op_ASSIGN_951); +} + +RzILOpEffect *hex_il_op_a2_subh_h16_ll(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_MUL_952 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_953 = SHIFTR0(Rt, op_MUL_952); + RzIlOpPure *op_AND_954 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_953, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_955 = CAST(16, MSB(op_AND_954), op_AND_954); + RzIlOpPure *op_MUL_956 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_957 = SHIFTR0(Rs, op_MUL_956); + RzIlOpPure *op_AND_958 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_957, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_959 = CAST(16, MSB(op_AND_958), op_AND_958); + RzIlOpPure *op_SUB_960 = SUB(cast_st16_955, cast_st16_959); + RzIlOpPure *op_LSHIFT_961 = LET("const_pos16", const_pos16, SHIFTL0(op_SUB_960, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_962 = SETG(Rd_assoc, op_LSHIFT_961); + + return SEQN(op_ASSIGN_962); +} + +RzILOpEffect *hex_il_op_a2_subh_h16_sat_hh(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_963 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_964 = SHIFTR0(Rt, op_MUL_963); + RzIlOpPure *op_AND_965 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_964, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_966 = CAST(16, MSB(op_AND_965), op_AND_965); + RzIlOpPure *op_MUL_967 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_968 = SHIFTR0(Rs, op_MUL_967); + RzIlOpPure *op_AND_969 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_968, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_970 = CAST(16, MSB(op_AND_969), op_AND_969); + RzIlOpPure *op_SUB_971 = SUB(cast_st16_966, cast_st16_970); + RzIlOpPure *c_call_972 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_SUB_971, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_973 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_972, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_974 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_975 = SHIFTR0(DUP(Rt), op_MUL_974); + RzIlOpPure *op_AND_976 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_975, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_977 = CAST(16, MSB(op_AND_976), op_AND_976); + RzIlOpPure *op_MUL_978 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_979 = SHIFTR0(DUP(Rs), op_MUL_978); + RzIlOpPure *op_AND_980 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_979, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_981 = CAST(16, MSB(op_AND_980), op_AND_980); + RzIlOpPure *op_SUB_982 = SUB(cast_st16_977, cast_st16_981); + RzIlOpPure *op_EQ = EQ(cond_973, op_SUB_982); + RzIlOpPure *op_MUL_983 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_984 = SHIFTR0(DUP(Rt), op_MUL_983); + RzIlOpPure *op_AND_985 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_984, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_986 = CAST(16, MSB(op_AND_985), op_AND_985); + RzIlOpPure *op_MUL_987 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_988 = SHIFTR0(DUP(Rs), op_MUL_987); + RzIlOpPure *op_AND_989 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_988, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_990 = CAST(16, MSB(op_AND_989), op_AND_989); + RzIlOpPure *op_SUB_991 = SUB(cast_st16_986, cast_st16_990); + RzIlOpPure *c_call_992 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_993 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_994 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_995 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_993, c_call_994, VARLP("const_pos1"))); + RzIlOpPure *cond_996 = ITE(c_call_992, c_call_995, usr); + RzIlOpPure *op_MUL_998 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_999 = SHIFTR0(DUP(Rt), op_MUL_998); + RzIlOpPure *op_AND_1000 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_999, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1001 = CAST(32, IL_FALSE, op_AND_1000); + RzIlOpPure *op_MUL_1002 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1003 = SHIFTR0(DUP(Rs), op_MUL_1002); + RzIlOpPure *op_AND_1004 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1003, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1005 = CAST(16, MSB(op_AND_1004), op_AND_1004); + RzIlOpPure *op_SUB_1006 = SUB(cast_st16_1001, cast_st16_1005); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(op_SUB_1006, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_1007 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1008 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1007)); + RzIlOpPure *op_NEG_1009 = NEG(op_LSHIFT_1008); + RzIlOpPure *op_SUB_1010 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1011 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1010)); + RzIlOpPure *op_SUB_1012 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_1011, VARLP("const_pos1"))); + RzIlOpPure *cond_1013 = ITE(op_LT, op_NEG_1009, op_SUB_1012); + RzIlOpPure *cond_1014 = ITE(op_EQ, op_SUB_991, cond_1013); + RzIlOpPure *op_LSHIFT_1015 = LET("const_pos16", const_pos16, SHIFTL0(cond_1014, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_997 = SETG(usr_assoc, cond_996); + RzIlOpEffect *op_ASSIGN_1016 = SETG(Rd_assoc, op_LSHIFT_1015); + + return SEQN(op_ASSIGN_1016); +} + +RzILOpEffect *hex_il_op_a2_subh_h16_sat_hl(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_1017 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1018 = SHIFTR0(Rt, op_MUL_1017); + RzIlOpPure *op_AND_1019 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1018, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1020 = CAST(16, MSB(op_AND_1019), op_AND_1019); + RzIlOpPure *op_MUL_1021 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1022 = SHIFTR0(Rs, op_MUL_1021); + RzIlOpPure *op_AND_1023 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1022, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1024 = CAST(16, MSB(op_AND_1023), op_AND_1023); + RzIlOpPure *op_SUB_1025 = SUB(cast_st16_1020, cast_st16_1024); + RzIlOpPure *c_call_1026 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_SUB_1025, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_1027 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_1026, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_1028 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1029 = SHIFTR0(DUP(Rt), op_MUL_1028); + RzIlOpPure *op_AND_1030 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1029, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1031 = CAST(16, MSB(op_AND_1030), op_AND_1030); + RzIlOpPure *op_MUL_1032 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1033 = SHIFTR0(DUP(Rs), op_MUL_1032); + RzIlOpPure *op_AND_1034 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1033, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1035 = CAST(16, MSB(op_AND_1034), op_AND_1034); + RzIlOpPure *op_SUB_1036 = SUB(cast_st16_1031, cast_st16_1035); + RzIlOpPure *op_EQ = EQ(cond_1027, op_SUB_1036); + RzIlOpPure *op_MUL_1037 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1038 = SHIFTR0(DUP(Rt), op_MUL_1037); + RzIlOpPure *op_AND_1039 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1038, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1040 = CAST(16, MSB(op_AND_1039), op_AND_1039); + RzIlOpPure *op_MUL_1041 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1042 = SHIFTR0(DUP(Rs), op_MUL_1041); + RzIlOpPure *op_AND_1043 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1042, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1044 = CAST(16, MSB(op_AND_1043), op_AND_1043); + RzIlOpPure *op_SUB_1045 = SUB(cast_st16_1040, cast_st16_1044); + RzIlOpPure *c_call_1046 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1047 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1048 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1049 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_1047, c_call_1048, VARLP("const_pos1"))); + RzIlOpPure *cond_1050 = ITE(c_call_1046, c_call_1049, usr); + RzIlOpPure *op_MUL_1052 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1053 = SHIFTR0(DUP(Rt), op_MUL_1052); + RzIlOpPure *op_AND_1054 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1053, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1055 = CAST(32, IL_FALSE, op_AND_1054); + RzIlOpPure *op_MUL_1056 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1057 = SHIFTR0(DUP(Rs), op_MUL_1056); + RzIlOpPure *op_AND_1058 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1057, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1059 = CAST(16, MSB(op_AND_1058), op_AND_1058); + RzIlOpPure *op_SUB_1060 = SUB(cast_st16_1055, cast_st16_1059); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(op_SUB_1060, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_1061 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1062 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1061)); + RzIlOpPure *op_NEG_1063 = NEG(op_LSHIFT_1062); + RzIlOpPure *op_SUB_1064 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1065 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1064)); + RzIlOpPure *op_SUB_1066 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_1065, VARLP("const_pos1"))); + RzIlOpPure *cond_1067 = ITE(op_LT, op_NEG_1063, op_SUB_1066); + RzIlOpPure *cond_1068 = ITE(op_EQ, op_SUB_1045, cond_1067); + RzIlOpPure *op_LSHIFT_1069 = LET("const_pos16", const_pos16, SHIFTL0(cond_1068, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_1051 = SETG(usr_assoc, cond_1050); + RzIlOpEffect *op_ASSIGN_1070 = SETG(Rd_assoc, op_LSHIFT_1069); + + return SEQN(op_ASSIGN_1070); +} + +RzILOpEffect *hex_il_op_a2_subh_h16_sat_lh(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_1071 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1072 = SHIFTR0(Rt, op_MUL_1071); + RzIlOpPure *op_AND_1073 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1072, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1074 = CAST(16, MSB(op_AND_1073), op_AND_1073); + RzIlOpPure *op_MUL_1075 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1076 = SHIFTR0(Rs, op_MUL_1075); + RzIlOpPure *op_AND_1077 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1076, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1078 = CAST(16, MSB(op_AND_1077), op_AND_1077); + RzIlOpPure *op_SUB_1079 = SUB(cast_st16_1074, cast_st16_1078); + RzIlOpPure *c_call_1080 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_SUB_1079, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_1081 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_1080, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_1082 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1083 = SHIFTR0(DUP(Rt), op_MUL_1082); + RzIlOpPure *op_AND_1084 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1083, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1085 = CAST(16, MSB(op_AND_1084), op_AND_1084); + RzIlOpPure *op_MUL_1086 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1087 = SHIFTR0(DUP(Rs), op_MUL_1086); + RzIlOpPure *op_AND_1088 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1087, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1089 = CAST(16, MSB(op_AND_1088), op_AND_1088); + RzIlOpPure *op_SUB_1090 = SUB(cast_st16_1085, cast_st16_1089); + RzIlOpPure *op_EQ = EQ(cond_1081, op_SUB_1090); + RzIlOpPure *op_MUL_1091 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1092 = SHIFTR0(DUP(Rt), op_MUL_1091); + RzIlOpPure *op_AND_1093 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1092, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1094 = CAST(16, MSB(op_AND_1093), op_AND_1093); + RzIlOpPure *op_MUL_1095 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1096 = SHIFTR0(DUP(Rs), op_MUL_1095); + RzIlOpPure *op_AND_1097 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1096, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1098 = CAST(16, MSB(op_AND_1097), op_AND_1097); + RzIlOpPure *op_SUB_1099 = SUB(cast_st16_1094, cast_st16_1098); + RzIlOpPure *c_call_1100 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1101 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1102 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1103 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_1101, c_call_1102, VARLP("const_pos1"))); + RzIlOpPure *cond_1104 = ITE(c_call_1100, c_call_1103, usr); + RzIlOpPure *op_MUL_1106 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1107 = SHIFTR0(DUP(Rt), op_MUL_1106); + RzIlOpPure *op_AND_1108 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1107, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1109 = CAST(32, IL_FALSE, op_AND_1108); + RzIlOpPure *op_MUL_1110 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1111 = SHIFTR0(DUP(Rs), op_MUL_1110); + RzIlOpPure *op_AND_1112 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1111, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1113 = CAST(16, MSB(op_AND_1112), op_AND_1112); + RzIlOpPure *op_SUB_1114 = SUB(cast_st16_1109, cast_st16_1113); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(op_SUB_1114, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_1115 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1116 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1115)); + RzIlOpPure *op_NEG_1117 = NEG(op_LSHIFT_1116); + RzIlOpPure *op_SUB_1118 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1119 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1118)); + RzIlOpPure *op_SUB_1120 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_1119, VARLP("const_pos1"))); + RzIlOpPure *cond_1121 = ITE(op_LT, op_NEG_1117, op_SUB_1120); + RzIlOpPure *cond_1122 = ITE(op_EQ, op_SUB_1099, cond_1121); + RzIlOpPure *op_LSHIFT_1123 = LET("const_pos16", const_pos16, SHIFTL0(cond_1122, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_1105 = SETG(usr_assoc, cond_1104); + RzIlOpEffect *op_ASSIGN_1124 = SETG(Rd_assoc, op_LSHIFT_1123); + + return SEQN(op_ASSIGN_1124); +} + +RzILOpEffect *hex_il_op_a2_subh_h16_sat_ll(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_1125 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1126 = SHIFTR0(Rt, op_MUL_1125); + RzIlOpPure *op_AND_1127 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1126, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1128 = CAST(16, MSB(op_AND_1127), op_AND_1127); + RzIlOpPure *op_MUL_1129 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1130 = SHIFTR0(Rs, op_MUL_1129); + RzIlOpPure *op_AND_1131 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1130, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1132 = CAST(16, MSB(op_AND_1131), op_AND_1131); + RzIlOpPure *op_SUB_1133 = SUB(cast_st16_1128, cast_st16_1132); + RzIlOpPure *c_call_1134 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_SUB_1133, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_1135 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_1134, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_1136 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1137 = SHIFTR0(DUP(Rt), op_MUL_1136); + RzIlOpPure *op_AND_1138 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1137, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1139 = CAST(16, MSB(op_AND_1138), op_AND_1138); + RzIlOpPure *op_MUL_1140 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1141 = SHIFTR0(DUP(Rs), op_MUL_1140); + RzIlOpPure *op_AND_1142 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1141, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1143 = CAST(16, MSB(op_AND_1142), op_AND_1142); + RzIlOpPure *op_SUB_1144 = SUB(cast_st16_1139, cast_st16_1143); + RzIlOpPure *op_EQ = EQ(cond_1135, op_SUB_1144); + RzIlOpPure *op_MUL_1145 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1146 = SHIFTR0(DUP(Rt), op_MUL_1145); + RzIlOpPure *op_AND_1147 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1146, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1148 = CAST(16, MSB(op_AND_1147), op_AND_1147); + RzIlOpPure *op_MUL_1149 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1150 = SHIFTR0(DUP(Rs), op_MUL_1149); + RzIlOpPure *op_AND_1151 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1150, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1152 = CAST(16, MSB(op_AND_1151), op_AND_1151); + RzIlOpPure *op_SUB_1153 = SUB(cast_st16_1148, cast_st16_1152); + RzIlOpPure *c_call_1154 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1155 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1156 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1157 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_1155, c_call_1156, VARLP("const_pos1"))); + RzIlOpPure *cond_1158 = ITE(c_call_1154, c_call_1157, usr); + RzIlOpPure *op_MUL_1160 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1161 = SHIFTR0(DUP(Rt), op_MUL_1160); + RzIlOpPure *op_AND_1162 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1161, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1163 = CAST(32, IL_FALSE, op_AND_1162); + RzIlOpPure *op_MUL_1164 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1165 = SHIFTR0(DUP(Rs), op_MUL_1164); + RzIlOpPure *op_AND_1166 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1165, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1167 = CAST(16, MSB(op_AND_1166), op_AND_1166); + RzIlOpPure *op_SUB_1168 = SUB(cast_st16_1163, cast_st16_1167); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(op_SUB_1168, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_1169 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1170 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1169)); + RzIlOpPure *op_NEG_1171 = NEG(op_LSHIFT_1170); + RzIlOpPure *op_SUB_1172 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1173 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1172)); + RzIlOpPure *op_SUB_1174 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_1173, VARLP("const_pos1"))); + RzIlOpPure *cond_1175 = ITE(op_LT, op_NEG_1171, op_SUB_1174); + RzIlOpPure *cond_1176 = ITE(op_EQ, op_SUB_1153, cond_1175); + RzIlOpPure *op_LSHIFT_1177 = LET("const_pos16", const_pos16, SHIFTL0(cond_1176, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_1159 = SETG(usr_assoc, cond_1158); + RzIlOpEffect *op_ASSIGN_1178 = SETG(Rd_assoc, op_LSHIFT_1177); + + return SEQN(op_ASSIGN_1178); +} + +RzILOpEffect *hex_il_op_a2_subh_l16_hl(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_1179 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1180 = SHIFTR0(Rt, op_MUL_1179); + RzIlOpPure *op_AND_1181 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1180, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1182 = CAST(16, MSB(op_AND_1181), op_AND_1181); + RzIlOpPure *op_MUL_1183 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1184 = SHIFTR0(Rs, op_MUL_1183); + RzIlOpPure *op_AND_1185 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1184, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1186 = CAST(16, MSB(op_AND_1185), op_AND_1185); + RzIlOpPure *op_SUB_1187 = SUB(cast_st16_1182, cast_st16_1186); + RzIlOpPure *c_call_1188 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_SUB_1187, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_1189 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_1188, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_1190 = SETG(Rd_assoc, cond_1189); + + return SEQN(op_ASSIGN_1190); +} + +RzILOpEffect *hex_il_op_a2_subh_l16_ll(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_1191 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1192 = SHIFTR0(Rt, op_MUL_1191); + RzIlOpPure *op_AND_1193 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1192, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1194 = CAST(16, MSB(op_AND_1193), op_AND_1193); + RzIlOpPure *op_MUL_1195 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1196 = SHIFTR0(Rs, op_MUL_1195); + RzIlOpPure *op_AND_1197 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1196, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1198 = CAST(16, MSB(op_AND_1197), op_AND_1197); + RzIlOpPure *op_SUB_1199 = SUB(cast_st16_1194, cast_st16_1198); + RzIlOpPure *c_call_1200 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_SUB_1199, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_1201 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_1200, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_1202 = SETG(Rd_assoc, cond_1201); + + return SEQN(op_ASSIGN_1202); +} + +RzILOpEffect *hex_il_op_a2_subh_l16_sat_hl(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_1203 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1204 = SHIFTR0(Rt, op_MUL_1203); + RzIlOpPure *op_AND_1205 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1204, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1206 = CAST(16, MSB(op_AND_1205), op_AND_1205); + RzIlOpPure *op_MUL_1207 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1208 = SHIFTR0(Rs, op_MUL_1207); + RzIlOpPure *op_AND_1209 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1208, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1210 = CAST(16, MSB(op_AND_1209), op_AND_1209); + RzIlOpPure *op_SUB_1211 = SUB(cast_st16_1206, cast_st16_1210); + RzIlOpPure *c_call_1212 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_SUB_1211, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_1213 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_1212, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_1214 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1215 = SHIFTR0(DUP(Rt), op_MUL_1214); + RzIlOpPure *op_AND_1216 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1215, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1217 = CAST(16, MSB(op_AND_1216), op_AND_1216); + RzIlOpPure *op_MUL_1218 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1219 = SHIFTR0(DUP(Rs), op_MUL_1218); + RzIlOpPure *op_AND_1220 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1219, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1221 = CAST(16, MSB(op_AND_1220), op_AND_1220); + RzIlOpPure *op_SUB_1222 = SUB(cast_st16_1217, cast_st16_1221); + RzIlOpPure *op_EQ = EQ(cond_1213, op_SUB_1222); + RzIlOpPure *op_MUL_1223 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1224 = SHIFTR0(DUP(Rt), op_MUL_1223); + RzIlOpPure *op_AND_1225 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1224, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1226 = CAST(16, MSB(op_AND_1225), op_AND_1225); + RzIlOpPure *op_MUL_1227 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1228 = SHIFTR0(DUP(Rs), op_MUL_1227); + RzIlOpPure *op_AND_1229 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1228, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1230 = CAST(16, MSB(op_AND_1229), op_AND_1229); + RzIlOpPure *op_SUB_1231 = SUB(cast_st16_1226, cast_st16_1230); + RzIlOpPure *c_call_1232 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1233 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1234 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1235 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_1233, c_call_1234, VARLP("const_pos1"))); + RzIlOpPure *cond_1236 = ITE(c_call_1232, c_call_1235, usr); + RzIlOpPure *op_MUL_1238 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1239 = SHIFTR0(DUP(Rt), op_MUL_1238); + RzIlOpPure *op_AND_1240 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1239, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1241 = CAST(32, IL_FALSE, op_AND_1240); + RzIlOpPure *op_MUL_1242 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1243 = SHIFTR0(DUP(Rs), op_MUL_1242); + RzIlOpPure *op_AND_1244 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1243, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1245 = CAST(16, MSB(op_AND_1244), op_AND_1244); + RzIlOpPure *op_SUB_1246 = SUB(cast_st16_1241, cast_st16_1245); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(op_SUB_1246, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_1247 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1248 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1247)); + RzIlOpPure *op_NEG_1249 = NEG(op_LSHIFT_1248); + RzIlOpPure *op_SUB_1250 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1251 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1250)); + RzIlOpPure *op_SUB_1252 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_1251, VARLP("const_pos1"))); + RzIlOpPure *cond_1253 = ITE(op_LT, op_NEG_1249, op_SUB_1252); + RzIlOpPure *cond_1254 = ITE(op_EQ, op_SUB_1231, cond_1253); + + // WRITE + RzIlOpEffect *op_ASSIGN_1237 = SETG(usr_assoc, cond_1236); + RzIlOpEffect *op_ASSIGN_1255 = SETG(Rd_assoc, cond_1254); + + return SEQN(op_ASSIGN_1255); +} + +RzILOpEffect *hex_il_op_a2_subh_l16_sat_ll(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_1256 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1257 = SHIFTR0(Rt, op_MUL_1256); + RzIlOpPure *op_AND_1258 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1257, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1259 = CAST(16, MSB(op_AND_1258), op_AND_1258); + RzIlOpPure *op_MUL_1260 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1261 = SHIFTR0(Rs, op_MUL_1260); + RzIlOpPure *op_AND_1262 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1261, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1263 = CAST(16, MSB(op_AND_1262), op_AND_1262); + RzIlOpPure *op_SUB_1264 = SUB(cast_st16_1259, cast_st16_1263); + RzIlOpPure *c_call_1265 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_SUB_1264, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_1266 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_1265, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_1267 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1268 = SHIFTR0(DUP(Rt), op_MUL_1267); + RzIlOpPure *op_AND_1269 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1268, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1270 = CAST(16, MSB(op_AND_1269), op_AND_1269); + RzIlOpPure *op_MUL_1271 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1272 = SHIFTR0(DUP(Rs), op_MUL_1271); + RzIlOpPure *op_AND_1273 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1272, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1274 = CAST(16, MSB(op_AND_1273), op_AND_1273); + RzIlOpPure *op_SUB_1275 = SUB(cast_st16_1270, cast_st16_1274); + RzIlOpPure *op_EQ = EQ(cond_1266, op_SUB_1275); + RzIlOpPure *op_MUL_1276 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1277 = SHIFTR0(DUP(Rt), op_MUL_1276); + RzIlOpPure *op_AND_1278 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1277, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1279 = CAST(16, MSB(op_AND_1278), op_AND_1278); + RzIlOpPure *op_MUL_1280 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1281 = SHIFTR0(DUP(Rs), op_MUL_1280); + RzIlOpPure *op_AND_1282 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1281, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1283 = CAST(16, MSB(op_AND_1282), op_AND_1282); + RzIlOpPure *op_SUB_1284 = SUB(cast_st16_1279, cast_st16_1283); + RzIlOpPure *c_call_1285 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1286 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1287 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1288 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_1286, c_call_1287, VARLP("const_pos1"))); + RzIlOpPure *cond_1289 = ITE(c_call_1285, c_call_1288, usr); + RzIlOpPure *op_MUL_1291 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1292 = SHIFTR0(DUP(Rt), op_MUL_1291); + RzIlOpPure *op_AND_1293 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1292, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1294 = CAST(32, IL_FALSE, op_AND_1293); + RzIlOpPure *op_MUL_1295 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_1296 = SHIFTR0(DUP(Rs), op_MUL_1295); + RzIlOpPure *op_AND_1297 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1296, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1298 = CAST(16, MSB(op_AND_1297), op_AND_1297); + RzIlOpPure *op_SUB_1299 = SUB(cast_st16_1294, cast_st16_1298); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(op_SUB_1299, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_1300 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1301 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1300)); + RzIlOpPure *op_NEG_1302 = NEG(op_LSHIFT_1301); + RzIlOpPure *op_SUB_1303 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1304 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1303)); + RzIlOpPure *op_SUB_1305 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_1304, VARLP("const_pos1"))); + RzIlOpPure *cond_1306 = ITE(op_LT, op_NEG_1302, op_SUB_1305); + RzIlOpPure *cond_1307 = ITE(op_EQ, op_SUB_1284, cond_1306); + + // WRITE + RzIlOpEffect *op_ASSIGN_1290 = SETG(usr_assoc, cond_1289); + RzIlOpEffect *op_ASSIGN_1308 = SETG(Rd_assoc, cond_1307); + + return SEQN(op_ASSIGN_1308); +} + +RzILOpEffect *hex_il_op_a2_subp(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_SUB_1309 = SUB(Rtt, Rss); + + // WRITE + RzIlOpEffect *op_ASSIGN_1310 = SETG(Rdd_assoc, op_SUB_1309); + + return SEQN(op_ASSIGN_1310); +} + +RzILOpEffect *hex_il_op_a2_subri(void *hi) { + // READ + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_SUB_1311 = SUB(VARL("s"), Rs); + + // WRITE + RzIlOpEffect *op_ASSIGN_1312 = SETG(Rd_assoc, op_SUB_1311); + + return SEQN(s, op_ASSIGN_1312); +} + +RzILOpEffect *hex_il_op_a2_subsat(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *cast_st32_1313 = CAST(32, MSB(Rt), DUP(Rt)); + RzIlOpPure *cast_st64_1314 = CAST(64, MSB(cast_st32_1313), cast_st32_1313); + RzIlOpPure *cast_st32_1315 = CAST(32, MSB(Rs), DUP(Rs)); + RzIlOpPure *cast_st64_1316 = CAST(64, MSB(cast_st32_1315), cast_st32_1315); + RzIlOpPure *op_SUB_1317 = SUB(cast_st64_1314, cast_st64_1316); + RzIlOpPure *c_call_1318 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(op_SUB_1317, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_1319 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_1318, VARLP("const_pos0LL"))); + RzIlOpPure *cast_st32_1320 = CAST(32, MSB(DUP(Rt)), DUP(Rt)); + RzIlOpPure *cast_st64_1321 = CAST(64, MSB(cast_st32_1320), cast_st32_1320); + RzIlOpPure *cast_st32_1322 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_1323 = CAST(64, MSB(cast_st32_1322), cast_st32_1322); + RzIlOpPure *op_SUB_1324 = SUB(cast_st64_1321, cast_st64_1323); + RzIlOpPure *op_EQ = EQ(cond_1319, op_SUB_1324); + RzIlOpPure *cast_st32_1325 = CAST(32, MSB(DUP(Rt)), DUP(Rt)); + RzIlOpPure *cast_st64_1326 = CAST(64, MSB(cast_st32_1325), cast_st32_1325); + RzIlOpPure *cast_st32_1327 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_1328 = CAST(64, MSB(cast_st32_1327), cast_st32_1327); + RzIlOpPure *op_SUB_1329 = SUB(cast_st64_1326, cast_st64_1328); + RzIlOpPure *c_call_1330 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1331 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1332 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1333 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_1331, c_call_1332, VARLP("const_pos1"))); + RzIlOpPure *cond_1334 = ITE(c_call_1330, c_call_1333, usr); + RzIlOpPure *cast_st32_1336 = CAST(32, MSB(DUP(Rt)), DUP(Rt)); + RzIlOpPure *cast_st64_1337 = CAST(32, IL_FALSE, cast_st32_1336); + RzIlOpPure *cast_st32_1338 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_1339 = CAST(64, MSB(cast_st32_1338), cast_st32_1338); + RzIlOpPure *op_SUB_1340 = SUB(cast_st64_1337, cast_st64_1339); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(op_SUB_1340, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_1341 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1342 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1341)); + RzIlOpPure *op_NEG_1343 = NEG(op_LSHIFT_1342); + RzIlOpPure *op_SUB_1344 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1345 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1344)); + RzIlOpPure *op_SUB_1346 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_1345, VARLP("const_pos1"))); + RzIlOpPure *cond_1347 = ITE(op_LT, op_NEG_1343, op_SUB_1346); + RzIlOpPure *cond_1348 = ITE(op_EQ, op_SUB_1329, cond_1347); + + // WRITE + RzIlOpEffect *op_ASSIGN_1335 = SETG(usr_assoc, cond_1334); + RzIlOpEffect *op_ASSIGN_1349 = SETG(Rd_assoc, cond_1348); + + return SEQN(op_ASSIGN_1349); +} + +RzILOpEffect *hex_il_op_a2_svaddh(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_1353 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1354 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_1353)); + RzIlOpPure *op_NOT_1355 = LOGNOT(op_LSHIFT_1354); + RzIlOpPure *op_AND_1356 = LOGAND(Rd, op_NOT_1355); + RzIlOpPure *op_MUL_1357 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1358 = SHIFTR0(Rs, op_MUL_1357); + RzIlOpPure *op_AND_1359 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1358, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1360 = CAST(32, IL_FALSE, op_AND_1359); + RzIlOpPure *op_MUL_1361 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1362 = SHIFTR0(Rt, op_MUL_1361); + RzIlOpPure *op_AND_1363 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1362, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1364 = CAST(16, MSB(op_AND_1363), op_AND_1363); + RzIlOpPure *op_ADD_1365 = ADD(cast_st16_1360, cast_st16_1364); + RzIlOpPure *op_AND_1366 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(op_ADD_1365, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_1367 = CAST(64, IL_FALSE, op_AND_1366); + RzIlOpPure *op_MUL_1368 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1369 = SHIFTL0(cast_ut64_1367, op_MUL_1368); + RzIlOpPure *op_OR_1370 = LOGOR(op_AND_1356, op_LSHIFT_1369); + + // WRITE + RzIlOpEffect *empty_1350 = EMPTY(); + RzIlOpEffect *op_ASSIGN_1351 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_1352 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_1371 = SETG(Rd_assoc, op_OR_1370); + RzIlOpEffect *empty_1372 = EMPTY(); + RzIlOpEffect *for_1373 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rd_assoc, op_OR_1370), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_1350, for_1373); +} + +RzILOpEffect *hex_il_op_a2_svaddhs(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_1377 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1378 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_1377)); + RzIlOpPure *op_NOT_1379 = LOGNOT(op_LSHIFT_1378); + RzIlOpPure *op_AND_1380 = LOGAND(Rd, op_NOT_1379); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_1381 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1382 = SHIFTR0(Rs, op_MUL_1381); + RzIlOpPure *op_AND_1383 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1382, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1384 = CAST(16, MSB(op_AND_1383), op_AND_1383); + RzIlOpPure *op_MUL_1385 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1386 = SHIFTR0(Rt, op_MUL_1385); + RzIlOpPure *op_AND_1387 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1386, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1388 = CAST(16, MSB(op_AND_1387), op_AND_1387); + RzIlOpPure *op_ADD_1389 = ADD(cast_st16_1384, cast_st16_1388); + RzIlOpPure *c_call_1390 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_ADD_1389, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_1391 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_1390, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_1392 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1393 = SHIFTR0(DUP(Rs), op_MUL_1392); + RzIlOpPure *op_AND_1394 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1393, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1395 = CAST(16, MSB(op_AND_1394), op_AND_1394); + RzIlOpPure *op_MUL_1396 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1397 = SHIFTR0(DUP(Rt), op_MUL_1396); + RzIlOpPure *op_AND_1398 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1397, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1399 = CAST(16, MSB(op_AND_1398), op_AND_1398); + RzIlOpPure *op_ADD_1400 = ADD(cast_st16_1395, cast_st16_1399); + RzIlOpPure *op_EQ = EQ(cond_1391, op_ADD_1400); + RzIlOpPure *op_MUL_1401 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1402 = SHIFTR0(DUP(Rs), op_MUL_1401); + RzIlOpPure *op_AND_1403 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1402, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1404 = CAST(32, IL_FALSE, op_AND_1403); + RzIlOpPure *op_MUL_1405 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1406 = SHIFTR0(DUP(Rt), op_MUL_1405); + RzIlOpPure *op_AND_1407 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1406, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1408 = CAST(16, MSB(op_AND_1407), op_AND_1407); + RzIlOpPure *op_ADD_1409 = ADD(cast_st16_1404, cast_st16_1408); + RzIlOpPure *c_call_1410 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1411 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1412 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1413 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_1411, c_call_1412, VARLP("const_pos1"))); + RzIlOpPure *cond_1414 = ITE(c_call_1410, c_call_1413, usr); + RzIlOpPure *op_MUL_1416 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1417 = SHIFTR0(DUP(Rs), op_MUL_1416); + RzIlOpPure *op_AND_1418 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1417, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1419 = CAST(32, IL_FALSE, op_AND_1418); + RzIlOpPure *op_MUL_1420 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1421 = SHIFTR0(DUP(Rt), op_MUL_1420); + RzIlOpPure *op_AND_1422 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1421, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1423 = CAST(16, MSB(op_AND_1422), op_AND_1422); + RzIlOpPure *op_ADD_1424 = ADD(cast_st16_1419, cast_st16_1423); + RzIlOpPure *op_SUB_1425 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1426 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1425)); + RzIlOpPure *op_NEG_1427 = NEG(op_LSHIFT_1426); + RzIlOpPure *op_SUB_1428 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1429 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1428)); + RzIlOpPure *op_SUB_1430 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_1429, VARLP("const_pos1"))); + RzIlOpPure *cond_1431 = ITE(op_LT, op_NEG_1427, op_SUB_1430); + RzIlOpPure *cond_1432 = ITE(op_EQ, op_ADD_1409, cond_1431); + RzIlOpPure *op_AND_1433 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_1432, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_1434 = CAST(64, IL_FALSE, op_AND_1433); + RzIlOpPure *op_MUL_1435 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1436 = SHIFTL0(cast_ut64_1434, op_MUL_1435); + RzIlOpPure *op_OR_1437 = LOGOR(op_AND_1380, op_LSHIFT_1436); + + // WRITE + RzIlOpEffect *empty_1374 = EMPTY(); + RzIlOpEffect *op_ASSIGN_1375 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_1376 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_1415 = SETG(usr_assoc, cond_1414); + RzIlOpEffect *op_ASSIGN_1438 = SETG(Rd_assoc, op_OR_1437); + RzIlOpEffect *empty_1439 = EMPTY(); + RzIlOpEffect *for_1440 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rd_assoc, op_OR_1437), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_1374, for_1440); +} + +RzILOpEffect *hex_il_op_a2_svadduhs(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = UN(32, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_1444 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1445 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_1444)); + RzIlOpPure *op_NOT_1446 = LOGNOT(op_LSHIFT_1445); + RzIlOpPure *op_AND_1447 = LOGAND(Rd, op_NOT_1446); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_1448 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1449 = SHIFTR0(Rs, op_MUL_1448); + RzIlOpPure *op_AND_1450 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1449, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_1451 = CAST(16, IL_FALSE, op_AND_1450); + RzIlOpPure *op_MUL_1452 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1453 = SHIFTR0(Rt, op_MUL_1452); + RzIlOpPure *op_AND_1454 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1453, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_1455 = CAST(16, IL_FALSE, op_AND_1454); + RzIlOpPure *op_ADD_1456 = ADD(cast_ut16_1451, cast_ut16_1455); + RzIlOpPure *c_call_1457 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_EXTRACT64(op_ADD_1456, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_1458 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_1457, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_1459 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1460 = SHIFTR0(DUP(Rs), op_MUL_1459); + RzIlOpPure *op_AND_1461 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1460, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_1462 = CAST(16, IL_FALSE, op_AND_1461); + RzIlOpPure *op_MUL_1463 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1464 = SHIFTR0(DUP(Rt), op_MUL_1463); + RzIlOpPure *op_AND_1465 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1464, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_1466 = CAST(16, IL_FALSE, op_AND_1465); + RzIlOpPure *op_ADD_1467 = ADD(cast_ut16_1462, cast_ut16_1466); + RzIlOpPure *op_EQ = EQ(cond_1458, op_ADD_1467); + RzIlOpPure *op_MUL_1468 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1469 = SHIFTR0(DUP(Rs), op_MUL_1468); + RzIlOpPure *op_AND_1470 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1469, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_1471 = CAST(32, IL_FALSE, op_AND_1470); + RzIlOpPure *op_MUL_1472 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1473 = SHIFTR0(DUP(Rt), op_MUL_1472); + RzIlOpPure *op_AND_1474 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1473, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_1475 = CAST(16, IL_FALSE, op_AND_1474); + RzIlOpPure *op_ADD_1476 = ADD(cast_ut16_1471, cast_ut16_1475); + RzIlOpPure *c_call_1477 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1478 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1479 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1480 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_1478, c_call_1479, VARLP("const_pos1"))); + RzIlOpPure *cond_1481 = ITE(c_call_1477, c_call_1480, usr); + RzIlOpPure *op_MUL_1483 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1484 = SHIFTR0(DUP(Rs), op_MUL_1483); + RzIlOpPure *op_AND_1485 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1484, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_1486 = CAST(32, IL_FALSE, op_AND_1485); + RzIlOpPure *op_MUL_1487 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1488 = SHIFTR0(DUP(Rt), op_MUL_1487); + RzIlOpPure *op_AND_1489 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1488, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_1490 = CAST(16, IL_FALSE, op_AND_1489); + RzIlOpPure *op_ADD_1491 = ADD(cast_ut16_1486, cast_ut16_1490); + RzIlOpPure *op_LSHIFT_1492 = LET("const_pos1LL", const_pos1LL, LET("const_pos16", const_pos16, SHIFTL0(VARLP("const_pos1LL"), VARLP("const_pos16")))); + RzIlOpPure *op_SUB_1493 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_1492, VARLP("const_pos1"))); + RzIlOpPure *cond_1494 = LET("const_pos0", const_pos0, ITE(op_LT, VARLP("const_pos0"), op_SUB_1493)); + RzIlOpPure *cond_1495 = ITE(op_EQ, op_ADD_1476, cond_1494); + RzIlOpPure *op_AND_1496 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_1495, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_1497 = CAST(64, IL_FALSE, op_AND_1496); + RzIlOpPure *op_MUL_1498 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1499 = SHIFTL0(cast_ut64_1497, op_MUL_1498); + RzIlOpPure *op_OR_1500 = LOGOR(op_AND_1447, op_LSHIFT_1499); + + // WRITE + RzIlOpEffect *empty_1441 = EMPTY(); + RzIlOpEffect *op_ASSIGN_1442 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_1443 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_1482 = SETG(usr_assoc, cond_1481); + RzIlOpEffect *op_ASSIGN_1501 = SETG(Rd_assoc, op_OR_1500); + RzIlOpEffect *empty_1502 = EMPTY(); + RzIlOpEffect *for_1503 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rd_assoc, op_OR_1500), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_1441, for_1503); +} + +RzILOpEffect *hex_il_op_a2_svavgh(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_1507 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1508 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_1507)); + RzIlOpPure *op_NOT_1509 = LOGNOT(op_LSHIFT_1508); + RzIlOpPure *op_AND_1510 = LOGAND(Rd, op_NOT_1509); + RzIlOpPure *op_MUL_1511 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1512 = SHIFTR0(Rs, op_MUL_1511); + RzIlOpPure *op_AND_1513 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1512, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1514 = CAST(16, MSB(op_AND_1513), op_AND_1513); + RzIlOpPure *op_MUL_1515 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1516 = SHIFTR0(Rt, op_MUL_1515); + RzIlOpPure *op_AND_1517 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1516, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1518 = CAST(16, MSB(op_AND_1517), op_AND_1517); + RzIlOpPure *op_ADD_1519 = ADD(cast_st16_1514, cast_st16_1518); + RzIlOpPure *op_RSHIFT_1520 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_1519, VARLP("const_pos1"))); + RzIlOpPure *op_AND_1521 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(op_RSHIFT_1520, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_1522 = CAST(64, IL_FALSE, op_AND_1521); + RzIlOpPure *op_MUL_1523 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1524 = SHIFTL0(cast_ut64_1522, op_MUL_1523); + RzIlOpPure *op_OR_1525 = LOGOR(op_AND_1510, op_LSHIFT_1524); + + // WRITE + RzIlOpEffect *empty_1504 = EMPTY(); + RzIlOpEffect *op_ASSIGN_1505 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_1506 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_1526 = SETG(Rd_assoc, op_OR_1525); + RzIlOpEffect *empty_1527 = EMPTY(); + RzIlOpEffect *for_1528 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rd_assoc, op_OR_1525), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_1504, for_1528); +} + +RzILOpEffect *hex_il_op_a2_svavghs(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_1532 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1533 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_1532)); + RzIlOpPure *op_NOT_1534 = LOGNOT(op_LSHIFT_1533); + RzIlOpPure *op_AND_1535 = LOGAND(Rd, op_NOT_1534); + RzIlOpPure *op_MUL_1536 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1537 = SHIFTR0(Rs, op_MUL_1536); + RzIlOpPure *op_AND_1538 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1537, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1539 = CAST(32, IL_FALSE, op_AND_1538); + RzIlOpPure *op_MUL_1540 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1541 = SHIFTR0(Rt, op_MUL_1540); + RzIlOpPure *op_AND_1542 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1541, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1543 = CAST(16, MSB(op_AND_1542), op_AND_1542); + RzIlOpPure *op_ADD_1544 = ADD(cast_st16_1539, cast_st16_1543); + RzIlOpPure *op_ADD_1545 = LET("const_pos1", const_pos1, ADD(op_ADD_1544, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_1546 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_1545, VARLP("const_pos1"))); + RzIlOpPure *op_AND_1547 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(op_RSHIFT_1546, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_1548 = CAST(64, IL_FALSE, op_AND_1547); + RzIlOpPure *op_MUL_1549 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1550 = SHIFTL0(cast_ut64_1548, op_MUL_1549); + RzIlOpPure *op_OR_1551 = LOGOR(op_AND_1535, op_LSHIFT_1550); + + // WRITE + RzIlOpEffect *empty_1529 = EMPTY(); + RzIlOpEffect *op_ASSIGN_1530 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_1531 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_1552 = SETG(Rd_assoc, op_OR_1551); + RzIlOpEffect *empty_1553 = EMPTY(); + RzIlOpEffect *for_1554 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rd_assoc, op_OR_1551), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_1529, for_1554); +} + +RzILOpEffect *hex_il_op_a2_svnavgh(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_1558 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1559 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_1558)); + RzIlOpPure *op_NOT_1560 = LOGNOT(op_LSHIFT_1559); + RzIlOpPure *op_AND_1561 = LOGAND(Rd, op_NOT_1560); + RzIlOpPure *op_MUL_1562 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1563 = SHIFTR0(Rt, op_MUL_1562); + RzIlOpPure *op_AND_1564 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1563, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1565 = CAST(16, MSB(op_AND_1564), op_AND_1564); + RzIlOpPure *op_MUL_1566 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1567 = SHIFTR0(Rs, op_MUL_1566); + RzIlOpPure *op_AND_1568 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1567, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1569 = CAST(16, MSB(op_AND_1568), op_AND_1568); + RzIlOpPure *op_SUB_1570 = SUB(cast_st16_1565, cast_st16_1569); + RzIlOpPure *op_RSHIFT_1571 = LET("const_pos1", const_pos1, SHIFTR0(op_SUB_1570, VARLP("const_pos1"))); + RzIlOpPure *op_AND_1572 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(op_RSHIFT_1571, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_1573 = CAST(64, IL_FALSE, op_AND_1572); + RzIlOpPure *op_MUL_1574 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1575 = SHIFTL0(cast_ut64_1573, op_MUL_1574); + RzIlOpPure *op_OR_1576 = LOGOR(op_AND_1561, op_LSHIFT_1575); + + // WRITE + RzIlOpEffect *empty_1555 = EMPTY(); + RzIlOpEffect *op_ASSIGN_1556 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_1557 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_1577 = SETG(Rd_assoc, op_OR_1576); + RzIlOpEffect *empty_1578 = EMPTY(); + RzIlOpEffect *for_1579 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rd_assoc, op_OR_1576), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_1555, for_1579); +} + +RzILOpEffect *hex_il_op_a2_svsubh(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_1583 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1584 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_1583)); + RzIlOpPure *op_NOT_1585 = LOGNOT(op_LSHIFT_1584); + RzIlOpPure *op_AND_1586 = LOGAND(Rd, op_NOT_1585); + RzIlOpPure *op_MUL_1587 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1588 = SHIFTR0(Rt, op_MUL_1587); + RzIlOpPure *op_AND_1589 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1588, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1590 = CAST(32, IL_FALSE, op_AND_1589); + RzIlOpPure *op_MUL_1591 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1592 = SHIFTR0(Rs, op_MUL_1591); + RzIlOpPure *op_AND_1593 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1592, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1594 = CAST(16, MSB(op_AND_1593), op_AND_1593); + RzIlOpPure *op_SUB_1595 = SUB(cast_st16_1590, cast_st16_1594); + RzIlOpPure *op_AND_1596 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(op_SUB_1595, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_1597 = CAST(64, IL_FALSE, op_AND_1596); + RzIlOpPure *op_MUL_1598 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1599 = SHIFTL0(cast_ut64_1597, op_MUL_1598); + RzIlOpPure *op_OR_1600 = LOGOR(op_AND_1586, op_LSHIFT_1599); + + // WRITE + RzIlOpEffect *empty_1580 = EMPTY(); + RzIlOpEffect *op_ASSIGN_1581 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_1582 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_1601 = SETG(Rd_assoc, op_OR_1600); + RzIlOpEffect *empty_1602 = EMPTY(); + RzIlOpEffect *for_1603 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rd_assoc, op_OR_1600), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_1580, for_1603); +} + +RzILOpEffect *hex_il_op_a2_svsubhs(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_1607 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1608 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_1607)); + RzIlOpPure *op_NOT_1609 = LOGNOT(op_LSHIFT_1608); + RzIlOpPure *op_AND_1610 = LOGAND(Rd, op_NOT_1609); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_1611 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1612 = SHIFTR0(Rt, op_MUL_1611); + RzIlOpPure *op_AND_1613 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1612, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1614 = CAST(16, MSB(op_AND_1613), op_AND_1613); + RzIlOpPure *op_MUL_1615 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1616 = SHIFTR0(Rs, op_MUL_1615); + RzIlOpPure *op_AND_1617 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1616, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1618 = CAST(16, MSB(op_AND_1617), op_AND_1617); + RzIlOpPure *op_SUB_1619 = SUB(cast_st16_1614, cast_st16_1618); + RzIlOpPure *c_call_1620 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_SUB_1619, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_1621 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_1620, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_1622 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1623 = SHIFTR0(DUP(Rt), op_MUL_1622); + RzIlOpPure *op_AND_1624 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1623, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1625 = CAST(16, MSB(op_AND_1624), op_AND_1624); + RzIlOpPure *op_MUL_1626 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1627 = SHIFTR0(DUP(Rs), op_MUL_1626); + RzIlOpPure *op_AND_1628 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1627, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1629 = CAST(16, MSB(op_AND_1628), op_AND_1628); + RzIlOpPure *op_SUB_1630 = SUB(cast_st16_1625, cast_st16_1629); + RzIlOpPure *op_EQ = EQ(cond_1621, op_SUB_1630); + RzIlOpPure *op_MUL_1631 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1632 = SHIFTR0(DUP(Rt), op_MUL_1631); + RzIlOpPure *op_AND_1633 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1632, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1634 = CAST(32, IL_FALSE, op_AND_1633); + RzIlOpPure *op_MUL_1635 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1636 = SHIFTR0(DUP(Rs), op_MUL_1635); + RzIlOpPure *op_AND_1637 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1636, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1638 = CAST(16, MSB(op_AND_1637), op_AND_1637); + RzIlOpPure *op_SUB_1639 = SUB(cast_st16_1634, cast_st16_1638); + RzIlOpPure *c_call_1640 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1641 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1642 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1643 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_1641, c_call_1642, VARLP("const_pos1"))); + RzIlOpPure *cond_1644 = ITE(c_call_1640, c_call_1643, usr); + RzIlOpPure *op_MUL_1646 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1647 = SHIFTR0(DUP(Rt), op_MUL_1646); + RzIlOpPure *op_AND_1648 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1647, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1649 = CAST(32, IL_FALSE, op_AND_1648); + RzIlOpPure *op_MUL_1650 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1651 = SHIFTR0(DUP(Rs), op_MUL_1650); + RzIlOpPure *op_AND_1652 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1651, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1653 = CAST(16, MSB(op_AND_1652), op_AND_1652); + RzIlOpPure *op_SUB_1654 = SUB(cast_st16_1649, cast_st16_1653); + RzIlOpPure *op_SUB_1655 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1656 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1655)); + RzIlOpPure *op_NEG_1657 = NEG(op_LSHIFT_1656); + RzIlOpPure *op_SUB_1658 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1659 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1658)); + RzIlOpPure *op_SUB_1660 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_1659, VARLP("const_pos1"))); + RzIlOpPure *cond_1661 = ITE(op_LT, op_NEG_1657, op_SUB_1660); + RzIlOpPure *cond_1662 = ITE(op_EQ, op_SUB_1639, cond_1661); + RzIlOpPure *op_AND_1663 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_1662, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_1664 = CAST(64, IL_FALSE, op_AND_1663); + RzIlOpPure *op_MUL_1665 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1666 = SHIFTL0(cast_ut64_1664, op_MUL_1665); + RzIlOpPure *op_OR_1667 = LOGOR(op_AND_1610, op_LSHIFT_1666); + + // WRITE + RzIlOpEffect *empty_1604 = EMPTY(); + RzIlOpEffect *op_ASSIGN_1605 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_1606 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_1645 = SETG(usr_assoc, cond_1644); + RzIlOpEffect *op_ASSIGN_1668 = SETG(Rd_assoc, op_OR_1667); + RzIlOpEffect *empty_1669 = EMPTY(); + RzIlOpEffect *for_1670 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rd_assoc, op_OR_1667), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_1604, for_1670); +} + +RzILOpEffect *hex_il_op_a2_svsubuhs(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = UN(32, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_1674 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1675 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_1674)); + RzIlOpPure *op_NOT_1676 = LOGNOT(op_LSHIFT_1675); + RzIlOpPure *op_AND_1677 = LOGAND(Rd, op_NOT_1676); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_1678 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1679 = SHIFTR0(Rt, op_MUL_1678); + RzIlOpPure *op_AND_1680 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1679, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_1681 = CAST(16, IL_FALSE, op_AND_1680); + RzIlOpPure *op_MUL_1682 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1683 = SHIFTR0(Rs, op_MUL_1682); + RzIlOpPure *op_AND_1684 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1683, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_1685 = CAST(16, IL_FALSE, op_AND_1684); + RzIlOpPure *op_SUB_1686 = SUB(cast_ut16_1681, cast_ut16_1685); + RzIlOpPure *c_call_1687 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_EXTRACT64(op_SUB_1686, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_1688 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_1687, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_1689 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1690 = SHIFTR0(DUP(Rt), op_MUL_1689); + RzIlOpPure *op_AND_1691 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1690, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_1692 = CAST(16, IL_FALSE, op_AND_1691); + RzIlOpPure *op_MUL_1693 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1694 = SHIFTR0(DUP(Rs), op_MUL_1693); + RzIlOpPure *op_AND_1695 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1694, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_1696 = CAST(16, IL_FALSE, op_AND_1695); + RzIlOpPure *op_SUB_1697 = SUB(cast_ut16_1692, cast_ut16_1696); + RzIlOpPure *op_EQ = EQ(cond_1688, op_SUB_1697); + RzIlOpPure *op_MUL_1698 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1699 = SHIFTR0(DUP(Rt), op_MUL_1698); + RzIlOpPure *op_AND_1700 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1699, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_1701 = CAST(32, IL_FALSE, op_AND_1700); + RzIlOpPure *op_MUL_1702 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1703 = SHIFTR0(DUP(Rs), op_MUL_1702); + RzIlOpPure *op_AND_1704 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1703, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_1705 = CAST(16, IL_FALSE, op_AND_1704); + RzIlOpPure *op_SUB_1706 = SUB(cast_ut16_1701, cast_ut16_1705); + RzIlOpPure *c_call_1707 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1708 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1709 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1710 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_1708, c_call_1709, VARLP("const_pos1"))); + RzIlOpPure *cond_1711 = ITE(c_call_1707, c_call_1710, usr); + RzIlOpPure *op_MUL_1713 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1714 = SHIFTR0(DUP(Rt), op_MUL_1713); + RzIlOpPure *op_AND_1715 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1714, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_1716 = CAST(32, IL_FALSE, op_AND_1715); + RzIlOpPure *op_MUL_1717 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1718 = SHIFTR0(DUP(Rs), op_MUL_1717); + RzIlOpPure *op_AND_1719 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1718, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_1720 = CAST(16, IL_FALSE, op_AND_1719); + RzIlOpPure *op_SUB_1721 = SUB(cast_ut16_1716, cast_ut16_1720); + RzIlOpPure *op_LSHIFT_1722 = LET("const_pos1LL", const_pos1LL, LET("const_pos16", const_pos16, SHIFTL0(VARLP("const_pos1LL"), VARLP("const_pos16")))); + RzIlOpPure *op_SUB_1723 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_1722, VARLP("const_pos1"))); + RzIlOpPure *cond_1724 = LET("const_pos0", const_pos0, ITE(op_LT, VARLP("const_pos0"), op_SUB_1723)); + RzIlOpPure *cond_1725 = ITE(op_EQ, op_SUB_1706, cond_1724); + RzIlOpPure *op_AND_1726 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_1725, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_1727 = CAST(64, IL_FALSE, op_AND_1726); + RzIlOpPure *op_MUL_1728 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1729 = SHIFTL0(cast_ut64_1727, op_MUL_1728); + RzIlOpPure *op_OR_1730 = LOGOR(op_AND_1677, op_LSHIFT_1729); + + // WRITE + RzIlOpEffect *empty_1671 = EMPTY(); + RzIlOpEffect *op_ASSIGN_1672 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_1673 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_1712 = SETG(usr_assoc, cond_1711); + RzIlOpEffect *op_ASSIGN_1731 = SETG(Rd_assoc, op_OR_1730); + RzIlOpEffect *empty_1732 = EMPTY(); + RzIlOpEffect *for_1733 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rd_assoc, op_OR_1730), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_1671, for_1733); +} + +RzILOpEffect *hex_il_op_a2_swiz(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos0x0ffLL = UN(64, 255); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos3 = UN(32, 3); + RzILOpPure *const_pos0xff = UN(32, 255); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos2 = UN(32, 2); + + // EXEC + RzIlOpPure *op_MUL_1734 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, MUL(VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *op_LSHIFT_1735 = LET("const_pos0x0ffLL", const_pos0x0ffLL, SHIFTL0(VARLP("const_pos0x0ffLL"), op_MUL_1734)); + RzIlOpPure *op_NOT_1736 = LOGNOT(op_LSHIFT_1735); + RzIlOpPure *op_AND_1737 = LOGAND(Rd, op_NOT_1736); + RzIlOpPure *op_MUL_1738 = LET("const_pos3", const_pos3, LET("const_pos8", const_pos8, MUL(VARLP("const_pos3"), VARLP("const_pos8")))); + RzIlOpPure *op_RSHIFT_1739 = SHIFTR0(Rs, op_MUL_1738); + RzIlOpPure *op_AND_1740 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_1739, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_1741 = CAST(64, MSB(op_AND_1740), op_AND_1740); + RzIlOpPure *op_AND_1742 = LET("const_pos0x0ffLL", const_pos0x0ffLL, LOGAND(cast_st8_1741, VARLP("const_pos0x0ffLL"))); + RzIlOpPure *cast_ut64_1743 = CAST(64, IL_FALSE, op_AND_1742); + RzIlOpPure *op_MUL_1744 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, MUL(VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *op_LSHIFT_1745 = SHIFTL0(cast_ut64_1743, op_MUL_1744); + RzIlOpPure *op_OR_1746 = LOGOR(op_AND_1737, op_LSHIFT_1745); + RzIlOpPure *op_MUL_1749 = LET("const_pos1", const_pos1, LET("const_pos8", const_pos8, MUL(VARLP("const_pos1"), VARLP("const_pos8")))); + RzIlOpPure *op_LSHIFT_1750 = LET("const_pos0x0ffLL", const_pos0x0ffLL, SHIFTL0(VARLP("const_pos0x0ffLL"), op_MUL_1749)); + RzIlOpPure *op_NOT_1751 = LOGNOT(op_LSHIFT_1750); + RzIlOpPure *op_AND_1752 = LOGAND(DUP(Rd), op_NOT_1751); + RzIlOpPure *op_MUL_1753 = LET("const_pos2", const_pos2, LET("const_pos8", const_pos8, MUL(VARLP("const_pos2"), VARLP("const_pos8")))); + RzIlOpPure *op_RSHIFT_1754 = SHIFTR0(DUP(Rs), op_MUL_1753); + RzIlOpPure *op_AND_1755 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_1754, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_1756 = CAST(64, MSB(op_AND_1755), op_AND_1755); + RzIlOpPure *op_AND_1757 = LET("const_pos0x0ffLL", const_pos0x0ffLL, LOGAND(cast_st8_1756, VARLP("const_pos0x0ffLL"))); + RzIlOpPure *cast_ut64_1758 = CAST(64, IL_FALSE, op_AND_1757); + RzIlOpPure *op_MUL_1759 = LET("const_pos1", const_pos1, LET("const_pos8", const_pos8, MUL(VARLP("const_pos1"), VARLP("const_pos8")))); + RzIlOpPure *op_LSHIFT_1760 = SHIFTL0(cast_ut64_1758, op_MUL_1759); + RzIlOpPure *op_OR_1761 = LOGOR(op_AND_1752, op_LSHIFT_1760); + RzIlOpPure *op_MUL_1764 = LET("const_pos2", const_pos2, LET("const_pos8", const_pos8, MUL(VARLP("const_pos2"), VARLP("const_pos8")))); + RzIlOpPure *op_LSHIFT_1765 = LET("const_pos0x0ffLL", const_pos0x0ffLL, SHIFTL0(VARLP("const_pos0x0ffLL"), op_MUL_1764)); + RzIlOpPure *op_NOT_1766 = LOGNOT(op_LSHIFT_1765); + RzIlOpPure *op_AND_1767 = LOGAND(DUP(Rd), op_NOT_1766); + RzIlOpPure *op_MUL_1768 = LET("const_pos1", const_pos1, LET("const_pos8", const_pos8, MUL(VARLP("const_pos1"), VARLP("const_pos8")))); + RzIlOpPure *op_RSHIFT_1769 = SHIFTR0(DUP(Rs), op_MUL_1768); + RzIlOpPure *op_AND_1770 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_1769, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_1771 = CAST(64, MSB(op_AND_1770), op_AND_1770); + RzIlOpPure *op_AND_1772 = LET("const_pos0x0ffLL", const_pos0x0ffLL, LOGAND(cast_st8_1771, VARLP("const_pos0x0ffLL"))); + RzIlOpPure *cast_ut64_1773 = CAST(64, IL_FALSE, op_AND_1772); + RzIlOpPure *op_MUL_1774 = LET("const_pos2", const_pos2, LET("const_pos8", const_pos8, MUL(VARLP("const_pos2"), VARLP("const_pos8")))); + RzIlOpPure *op_LSHIFT_1775 = SHIFTL0(cast_ut64_1773, op_MUL_1774); + RzIlOpPure *op_OR_1776 = LOGOR(op_AND_1767, op_LSHIFT_1775); + RzIlOpPure *op_MUL_1779 = LET("const_pos3", const_pos3, LET("const_pos8", const_pos8, MUL(VARLP("const_pos3"), VARLP("const_pos8")))); + RzIlOpPure *op_LSHIFT_1780 = LET("const_pos0x0ffLL", const_pos0x0ffLL, SHIFTL0(VARLP("const_pos0x0ffLL"), op_MUL_1779)); + RzIlOpPure *op_NOT_1781 = LOGNOT(op_LSHIFT_1780); + RzIlOpPure *op_AND_1782 = LOGAND(DUP(Rd), op_NOT_1781); + RzIlOpPure *op_MUL_1783 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, MUL(VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *op_RSHIFT_1784 = SHIFTR0(DUP(Rs), op_MUL_1783); + RzIlOpPure *op_AND_1785 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_1784, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_1786 = CAST(64, MSB(op_AND_1785), op_AND_1785); + RzIlOpPure *op_AND_1787 = LET("const_pos0x0ffLL", const_pos0x0ffLL, LOGAND(cast_st8_1786, VARLP("const_pos0x0ffLL"))); + RzIlOpPure *cast_ut64_1788 = CAST(64, IL_FALSE, op_AND_1787); + RzIlOpPure *op_MUL_1789 = LET("const_pos3", const_pos3, LET("const_pos8", const_pos8, MUL(VARLP("const_pos3"), VARLP("const_pos8")))); + RzIlOpPure *op_LSHIFT_1790 = SHIFTL0(cast_ut64_1788, op_MUL_1789); + RzIlOpPure *op_OR_1791 = LOGOR(op_AND_1782, op_LSHIFT_1790); + + // WRITE + RzIlOpEffect *op_ASSIGN_1747 = SETG(Rd_assoc, op_OR_1746); + RzIlOpEffect *empty_1748 = EMPTY(); + RzIlOpEffect *op_ASSIGN_1762 = SETG(Rd_assoc, op_OR_1761); + RzIlOpEffect *empty_1763 = EMPTY(); + RzIlOpEffect *op_ASSIGN_1777 = SETG(Rd_assoc, op_OR_1776); + RzIlOpEffect *empty_1778 = EMPTY(); + RzIlOpEffect *op_ASSIGN_1792 = SETG(Rd_assoc, op_OR_1791); + RzIlOpEffect *empty_1793 = EMPTY(); + + return SEQN(op_ASSIGN_1747, empty_1748, op_ASSIGN_1762, empty_1763, op_ASSIGN_1777, empty_1778, op_ASSIGN_1792, empty_1793); +} + +RzILOpEffect *hex_il_op_a2_sxtb(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos8", const_pos8, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos8"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_1794 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, HEX_SEXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *cond_1795 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_1794, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_1796 = SETG(Rd_assoc, cond_1795); + + return SEQN(op_ASSIGN_1796); +} + +RzILOpEffect *hex_il_op_a2_sxth(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_1797 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_1798 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_1797, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_1799 = SETG(Rd_assoc, cond_1798); + + return SEQN(op_ASSIGN_1799); +} + +RzILOpEffect *hex_il_op_a2_sxtw(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *cast_st32_1800 = CAST(32, MSB(Rs), DUP(Rs)); + RzIlOpPure *cast_st64_1801 = CAST(64, MSB(cast_st32_1800), cast_st32_1800); + + // WRITE + RzIlOpEffect *op_ASSIGN_1802 = SETG(Rdd_assoc, cast_st64_1801); + + return SEQN(op_ASSIGN_1802); +} + +RzILOpEffect *hex_il_op_a2_tfr(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + + // WRITE + RzIlOpEffect *op_ASSIGN_1803 = SETG(Rd_assoc, Rs); + + return SEQN(op_ASSIGN_1803); +} + +RzILOpEffect *hex_il_op_a2_tfrcrr(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Cs_assoc = ISA2REG(hi, "Cs", false); + RzIlOpPure *Cs = VARG(Cs_assoc); + + // EXEC + + // WRITE + RzIlOpEffect *op_ASSIGN_1804 = SETG(Rd_assoc, Cs); + + return SEQN(op_ASSIGN_1804); +} + +RzILOpEffect *hex_il_op_a2_tfrih(void *hi) { + // READ + const char *Rx_assoc = ISA2REG(hi, "Rx", false); + RzIlOpPure *Rx = VARG(Rx_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *u = UN((ut32)ISA2IMM(hi, "u")) + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_MUL_1805 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_LSHIFT_1806 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_1805)); + RzIlOpPure *op_NOT_1807 = LOGNOT(op_LSHIFT_1806); + RzIlOpPure *op_AND_1808 = LOGAND(Rx, op_NOT_1807); + RzIlOpPure *op_AND_1809 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(VARL("u"), VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_1810 = CAST(64, IL_FALSE, op_AND_1809); + RzIlOpPure *op_MUL_1811 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_LSHIFT_1812 = SHIFTL0(cast_ut64_1810, op_MUL_1811); + RzIlOpPure *op_OR_1813 = LOGOR(op_AND_1808, op_LSHIFT_1812); + + // WRITE + RzIlOpEffect *op_ASSIGN_1814 = SETG(Rx_assoc, op_OR_1813); + RzIlOpEffect *empty_1815 = EMPTY(); + + return SEQN(op_ASSIGN_1814, empty_1815); +} + +RzILOpEffect *hex_il_op_a2_tfril(void *hi) { + // READ + const char *Rx_assoc = ISA2REG(hi, "Rx", false); + RzIlOpPure *Rx = VARG(Rx_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *u = UN((ut32)ISA2IMM(hi, "u")) + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_MUL_1816 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_LSHIFT_1817 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_1816)); + RzIlOpPure *op_NOT_1818 = LOGNOT(op_LSHIFT_1817); + RzIlOpPure *op_AND_1819 = LOGAND(Rx, op_NOT_1818); + RzIlOpPure *op_AND_1820 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(VARL("u"), VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_1821 = CAST(64, IL_FALSE, op_AND_1820); + RzIlOpPure *op_MUL_1822 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_LSHIFT_1823 = SHIFTL0(cast_ut64_1821, op_MUL_1822); + RzIlOpPure *op_OR_1824 = LOGOR(op_AND_1819, op_LSHIFT_1823); + + // WRITE + RzIlOpEffect *op_ASSIGN_1825 = SETG(Rx_assoc, op_OR_1824); + RzIlOpEffect *empty_1826 = EMPTY(); + + return SEQN(op_ASSIGN_1825, empty_1826); +} + +RzILOpEffect *hex_il_op_a2_tfrrcr(void *hi) { + // READ + const char *Cd_assoc = ISA2REG(hi, "Cd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + + // WRITE + RzIlOpEffect *op_ASSIGN_1827 = SETG(Cd_assoc, Rs); + + return SEQN(op_ASSIGN_1827); +} + +RzILOpEffect *hex_il_op_a2_tfrsi(void *hi) { + // READ + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + + // EXEC + + // WRITE + RzIlOpEffect *op_ASSIGN_1828 = SETG(Rd_assoc, s); + + return SEQN(s, op_ASSIGN_1828); +} + +RzILOpEffect *hex_il_op_a2_vabsh(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_1832 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1833 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_1832)); + RzIlOpPure *op_NOT_1834 = LOGNOT(op_LSHIFT_1833); + RzIlOpPure *op_AND_1835 = LOGAND(Rdd, op_NOT_1834); + RzIlOpPure *op_MUL_1836 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1837 = SHIFTR0(Rss, op_MUL_1836); + RzIlOpPure *op_AND_1838 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1837, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1839 = CAST(32, IL_FALSE, op_AND_1838); + RzIlOpPure *op_MUL_1840 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1841 = SHIFTR0(DUP(Rss), op_MUL_1840); + RzIlOpPure *op_AND_1842 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1841, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1843 = CAST(32, IL_FALSE, op_AND_1842); + RzIlOpPure *op_NEG_1844 = NEG(cast_st16_1843); + RzIlOpPure *op_MUL_1845 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1846 = SHIFTR0(DUP(Rss), op_MUL_1845); + RzIlOpPure *op_AND_1847 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1846, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1848 = CAST(16, MSB(op_AND_1847), op_AND_1847); + RzIlOpPure *cond_1849 = ITE(op_LT, op_NEG_1844, cast_st16_1848); + RzIlOpPure *op_AND_1850 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_1849, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_1851 = CAST(64, IL_FALSE, op_AND_1850); + RzIlOpPure *op_MUL_1852 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1853 = SHIFTL0(cast_ut64_1851, op_MUL_1852); + RzIlOpPure *op_OR_1854 = LOGOR(op_AND_1835, op_LSHIFT_1853); + + // WRITE + RzIlOpEffect *empty_1829 = EMPTY(); + RzIlOpEffect *op_ASSIGN_1830 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_1831 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_1855 = SETG(Rdd_assoc, op_OR_1854); + RzIlOpEffect *empty_1856 = EMPTY(); + RzIlOpEffect *for_1857 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_1854), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_1829, for_1857); +} + +RzILOpEffect *hex_il_op_a2_vabshsat(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_1861 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1862 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_1861)); + RzIlOpPure *op_NOT_1863 = LOGNOT(op_LSHIFT_1862); + RzIlOpPure *op_AND_1864 = LOGAND(Rdd, op_NOT_1863); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_1865 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1866 = SHIFTR0(Rss, op_MUL_1865); + RzIlOpPure *op_AND_1867 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1866, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1868 = CAST(32, IL_FALSE, op_AND_1867); + RzIlOpPure *op_MUL_1869 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1870 = SHIFTR0(DUP(Rss), op_MUL_1869); + RzIlOpPure *op_AND_1871 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1870, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1872 = CAST(16, MSB(op_AND_1871), op_AND_1871); + RzIlOpPure *op_NEG_1873 = NEG(cast_st16_1872); + RzIlOpPure *op_MUL_1874 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1875 = SHIFTR0(DUP(Rss), op_MUL_1874); + RzIlOpPure *op_AND_1876 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1875, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1877 = CAST(16, MSB(op_AND_1876), op_AND_1876); + RzIlOpPure *cond_1878 = ITE(op_LT, op_NEG_1873, cast_st16_1877); + RzIlOpPure *c_call_1879 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(cond_1878, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_1880 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_1879, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_1881 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1882 = SHIFTR0(DUP(Rss), op_MUL_1881); + RzIlOpPure *op_AND_1883 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1882, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1884 = CAST(32, IL_FALSE, op_AND_1883); + RzIlOpPure *op_MUL_1885 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1886 = SHIFTR0(DUP(Rss), op_MUL_1885); + RzIlOpPure *op_AND_1887 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1886, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1888 = CAST(16, MSB(op_AND_1887), op_AND_1887); + RzIlOpPure *op_NEG_1889 = NEG(cast_st16_1888); + RzIlOpPure *op_MUL_1890 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1891 = SHIFTR0(DUP(Rss), op_MUL_1890); + RzIlOpPure *op_AND_1892 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1891, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1893 = CAST(16, MSB(op_AND_1892), op_AND_1892); + RzIlOpPure *cond_1894 = ITE(op_LT, op_NEG_1889, cast_st16_1893); + RzIlOpPure *op_EQ = EQ(cond_1880, cond_1894); + RzIlOpPure *op_MUL_1895 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1896 = SHIFTR0(DUP(Rss), op_MUL_1895); + RzIlOpPure *op_AND_1897 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1896, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1898 = CAST(32, IL_FALSE, op_AND_1897); + RzIlOpPure *op_MUL_1899 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1900 = SHIFTR0(DUP(Rss), op_MUL_1899); + RzIlOpPure *op_AND_1901 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1900, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1902 = CAST(32, IL_FALSE, op_AND_1901); + RzIlOpPure *op_NEG_1903 = NEG(cast_st16_1902); + RzIlOpPure *op_MUL_1904 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1905 = SHIFTR0(DUP(Rss), op_MUL_1904); + RzIlOpPure *op_AND_1906 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1905, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1907 = CAST(16, MSB(op_AND_1906), op_AND_1906); + RzIlOpPure *cond_1908 = ITE(op_LT, op_NEG_1903, cast_st16_1907); + RzIlOpPure *c_call_1909 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1910 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1911 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_1912 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_1910, c_call_1911, VARLP("const_pos1"))); + RzIlOpPure *cond_1913 = ITE(c_call_1909, c_call_1912, usr); + RzIlOpPure *op_MUL_1915 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1916 = SHIFTR0(DUP(Rss), op_MUL_1915); + RzIlOpPure *op_AND_1917 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1916, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1918 = CAST(32, IL_FALSE, op_AND_1917); + RzIlOpPure *op_MUL_1919 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1920 = SHIFTR0(DUP(Rss), op_MUL_1919); + RzIlOpPure *op_AND_1921 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1920, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1922 = CAST(32, IL_FALSE, op_AND_1921); + RzIlOpPure *op_NEG_1923 = NEG(cast_st16_1922); + RzIlOpPure *op_MUL_1924 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_1925 = SHIFTR0(DUP(Rss), op_MUL_1924); + RzIlOpPure *op_AND_1926 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_1925, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_1927 = CAST(16, MSB(op_AND_1926), op_AND_1926); + RzIlOpPure *cond_1928 = ITE(op_LT, op_NEG_1923, cast_st16_1927); + RzIlOpPure *op_SUB_1929 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1930 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1929)); + RzIlOpPure *op_NEG_1931 = NEG(op_LSHIFT_1930); + RzIlOpPure *op_SUB_1932 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_1933 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_1932)); + RzIlOpPure *op_SUB_1934 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_1933, VARLP("const_pos1"))); + RzIlOpPure *cond_1935 = ITE(op_LT, op_NEG_1931, op_SUB_1934); + RzIlOpPure *cond_1936 = ITE(op_EQ, cond_1908, cond_1935); + RzIlOpPure *op_AND_1937 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_1936, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_1938 = CAST(64, IL_FALSE, op_AND_1937); + RzIlOpPure *op_MUL_1939 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_1940 = SHIFTL0(cast_ut64_1938, op_MUL_1939); + RzIlOpPure *op_OR_1941 = LOGOR(op_AND_1864, op_LSHIFT_1940); + + // WRITE + RzIlOpEffect *empty_1858 = EMPTY(); + RzIlOpEffect *op_ASSIGN_1859 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_1860 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_1914 = SETG(usr_assoc, cond_1913); + RzIlOpEffect *op_ASSIGN_1942 = SETG(Rdd_assoc, op_OR_1941); + RzIlOpEffect *empty_1943 = EMPTY(); + RzIlOpEffect *for_1944 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_1941), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_1858, for_1944); +} + +RzILOpEffect *hex_il_op_a2_vabsw(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_1948 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_1949 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_1948)); + RzIlOpPure *op_NOT_1950 = LOGNOT(op_LSHIFT_1949); + RzIlOpPure *op_AND_1951 = LOGAND(Rdd, op_NOT_1950); + RzIlOpPure *op_MUL_1952 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_1953 = SHIFTR0(Rss, op_MUL_1952); + RzIlOpPure *op_AND_1954 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_1953, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_1955 = CAST(32, MSB(op_AND_1954), op_AND_1954); + RzIlOpPure *cast_st64_1956 = CAST(32, IL_FALSE, cast_st32_1955); + RzIlOpPure *op_MUL_1957 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_1958 = SHIFTR0(DUP(Rss), op_MUL_1957); + RzIlOpPure *op_AND_1959 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_1958, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_1960 = CAST(32, MSB(op_AND_1959), op_AND_1959); + RzIlOpPure *cast_st64_1961 = CAST(64, IL_FALSE, cast_st32_1960); + RzIlOpPure *op_NEG_1962 = NEG(cast_st64_1961); + RzIlOpPure *op_MUL_1963 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_1964 = SHIFTR0(DUP(Rss), op_MUL_1963); + RzIlOpPure *op_AND_1965 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_1964, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_1966 = CAST(32, MSB(op_AND_1965), op_AND_1965); + RzIlOpPure *cast_st64_1967 = CAST(64, MSB(cast_st32_1966), cast_st32_1966); + RzIlOpPure *cond_1968 = ITE(op_LT, op_NEG_1962, cast_st64_1967); + RzIlOpPure *op_AND_1969 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(cond_1968, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_1970 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_1971 = SHIFTL0(op_AND_1969, op_MUL_1970); + RzIlOpPure *op_OR_1972 = LOGOR(op_AND_1951, op_LSHIFT_1971); + + // WRITE + RzIlOpEffect *empty_1945 = EMPTY(); + RzIlOpEffect *op_ASSIGN_1946 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_1947 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_1973 = SETG(Rdd_assoc, op_OR_1972); + RzIlOpEffect *empty_1974 = EMPTY(); + RzIlOpEffect *for_1975 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_1972), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_1945, for_1975); +} + +RzILOpEffect *hex_il_op_a2_vabswsat(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_1979 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_1980 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_1979)); + RzIlOpPure *op_NOT_1981 = LOGNOT(op_LSHIFT_1980); + RzIlOpPure *op_AND_1982 = LOGAND(Rdd, op_NOT_1981); + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_1983 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_1984 = SHIFTR0(Rss, op_MUL_1983); + RzIlOpPure *op_AND_1985 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_1984, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_1986 = CAST(32, MSB(op_AND_1985), op_AND_1985); + RzIlOpPure *cast_st64_1987 = CAST(32, IL_FALSE, cast_st32_1986); + RzIlOpPure *op_MUL_1988 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_1989 = SHIFTR0(DUP(Rss), op_MUL_1988); + RzIlOpPure *op_AND_1990 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_1989, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_1991 = CAST(32, MSB(op_AND_1990), op_AND_1990); + RzIlOpPure *cast_st64_1992 = CAST(64, MSB(cast_st32_1991), cast_st32_1991); + RzIlOpPure *op_NEG_1993 = NEG(cast_st64_1992); + RzIlOpPure *op_MUL_1994 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_1995 = SHIFTR0(DUP(Rss), op_MUL_1994); + RzIlOpPure *op_AND_1996 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_1995, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_1997 = CAST(32, MSB(op_AND_1996), op_AND_1996); + RzIlOpPure *cast_st64_1998 = CAST(64, MSB(cast_st32_1997), cast_st32_1997); + RzIlOpPure *cond_1999 = ITE(op_LT, op_NEG_1993, cast_st64_1998); + RzIlOpPure *c_call_2000 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cond_1999, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_2001 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2000, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_2002 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2003 = SHIFTR0(DUP(Rss), op_MUL_2002); + RzIlOpPure *op_AND_2004 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2003, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2005 = CAST(32, MSB(op_AND_2004), op_AND_2004); + RzIlOpPure *cast_st64_2006 = CAST(32, IL_FALSE, cast_st32_2005); + RzIlOpPure *op_MUL_2007 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2008 = SHIFTR0(DUP(Rss), op_MUL_2007); + RzIlOpPure *op_AND_2009 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2008, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2010 = CAST(32, MSB(op_AND_2009), op_AND_2009); + RzIlOpPure *cast_st64_2011 = CAST(64, MSB(cast_st32_2010), cast_st32_2010); + RzIlOpPure *op_NEG_2012 = NEG(cast_st64_2011); + RzIlOpPure *op_MUL_2013 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2014 = SHIFTR0(DUP(Rss), op_MUL_2013); + RzIlOpPure *op_AND_2015 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2014, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2016 = CAST(32, MSB(op_AND_2015), op_AND_2015); + RzIlOpPure *cast_st64_2017 = CAST(64, MSB(cast_st32_2016), cast_st32_2016); + RzIlOpPure *cond_2018 = ITE(op_LT, op_NEG_2012, cast_st64_2017); + RzIlOpPure *op_EQ = EQ(cond_2001, cond_2018); + RzIlOpPure *op_MUL_2019 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2020 = SHIFTR0(DUP(Rss), op_MUL_2019); + RzIlOpPure *op_AND_2021 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2020, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2022 = CAST(32, MSB(op_AND_2021), op_AND_2021); + RzIlOpPure *cast_st64_2023 = CAST(32, IL_FALSE, cast_st32_2022); + RzIlOpPure *op_MUL_2024 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2025 = SHIFTR0(DUP(Rss), op_MUL_2024); + RzIlOpPure *op_AND_2026 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2025, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2027 = CAST(32, MSB(op_AND_2026), op_AND_2026); + RzIlOpPure *cast_st64_2028 = CAST(64, IL_FALSE, cast_st32_2027); + RzIlOpPure *op_NEG_2029 = NEG(cast_st64_2028); + RzIlOpPure *op_MUL_2030 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2031 = SHIFTR0(DUP(Rss), op_MUL_2030); + RzIlOpPure *op_AND_2032 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2031, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2033 = CAST(32, MSB(op_AND_2032), op_AND_2032); + RzIlOpPure *cast_st64_2034 = CAST(64, MSB(cast_st32_2033), cast_st32_2033); + RzIlOpPure *cond_2035 = ITE(op_LT, op_NEG_2029, cast_st64_2034); + RzIlOpPure *c_call_2036 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2037 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2038 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2039 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_2037, c_call_2038, VARLP("const_pos1"))); + RzIlOpPure *cond_2040 = ITE(c_call_2036, c_call_2039, usr); + RzIlOpPure *op_MUL_2042 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2043 = SHIFTR0(DUP(Rss), op_MUL_2042); + RzIlOpPure *op_AND_2044 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2043, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2045 = CAST(32, MSB(op_AND_2044), op_AND_2044); + RzIlOpPure *cast_st64_2046 = CAST(32, IL_FALSE, cast_st32_2045); + RzIlOpPure *op_MUL_2047 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2048 = SHIFTR0(DUP(Rss), op_MUL_2047); + RzIlOpPure *op_AND_2049 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2048, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2050 = CAST(32, MSB(op_AND_2049), op_AND_2049); + RzIlOpPure *cast_st64_2051 = CAST(32, IL_FALSE, cast_st32_2050); + RzIlOpPure *op_NEG_2052 = NEG(cast_st64_2051); + RzIlOpPure *op_MUL_2053 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2054 = SHIFTR0(DUP(Rss), op_MUL_2053); + RzIlOpPure *op_AND_2055 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2054, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2056 = CAST(32, MSB(op_AND_2055), op_AND_2055); + RzIlOpPure *cast_st64_2057 = CAST(64, MSB(cast_st32_2056), cast_st32_2056); + RzIlOpPure *cond_2058 = ITE(op_LT, op_NEG_2052, cast_st64_2057); + RzIlOpPure *op_SUB_2059 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_2060 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_2059)); + RzIlOpPure *op_NEG_2061 = NEG(op_LSHIFT_2060); + RzIlOpPure *op_SUB_2062 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_2063 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_2062)); + RzIlOpPure *op_SUB_2064 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_2063, VARLP("const_pos1"))); + RzIlOpPure *cond_2065 = ITE(op_LT, op_NEG_2061, op_SUB_2064); + RzIlOpPure *cond_2066 = ITE(op_EQ, cond_2035, cond_2065); + RzIlOpPure *op_AND_2067 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(cond_2066, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_2068 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_2069 = SHIFTL0(op_AND_2067, op_MUL_2068); + RzIlOpPure *op_OR_2070 = LOGOR(op_AND_1982, op_LSHIFT_2069); + + // WRITE + RzIlOpEffect *empty_1976 = EMPTY(); + RzIlOpEffect *op_ASSIGN_1977 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_1978 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2041 = SETG(usr_assoc, cond_2040); + RzIlOpEffect *op_ASSIGN_2071 = SETG(Rdd_assoc, op_OR_2070); + RzIlOpEffect *empty_2072 = EMPTY(); + RzIlOpEffect *for_2073 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2070), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_1976, for_2073); +} + +RzILOpEffect *hex_il_op_a2_vaddh(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_2077 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_2078 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_2077)); + RzIlOpPure *op_NOT_2079 = LOGNOT(op_LSHIFT_2078); + RzIlOpPure *op_AND_2080 = LOGAND(Rdd, op_NOT_2079); + RzIlOpPure *op_MUL_2081 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2082 = SHIFTR0(Rss, op_MUL_2081); + RzIlOpPure *op_AND_2083 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2082, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2084 = CAST(32, IL_FALSE, op_AND_2083); + RzIlOpPure *op_MUL_2085 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2086 = SHIFTR0(Rtt, op_MUL_2085); + RzIlOpPure *op_AND_2087 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2086, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2088 = CAST(16, MSB(op_AND_2087), op_AND_2087); + RzIlOpPure *op_ADD_2089 = ADD(cast_st16_2084, cast_st16_2088); + RzIlOpPure *op_AND_2090 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(op_ADD_2089, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_2091 = CAST(64, IL_FALSE, op_AND_2090); + RzIlOpPure *op_MUL_2092 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_2093 = SHIFTL0(cast_ut64_2091, op_MUL_2092); + RzIlOpPure *op_OR_2094 = LOGOR(op_AND_2080, op_LSHIFT_2093); + + // WRITE + RzIlOpEffect *empty_2074 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2075 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2076 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2095 = SETG(Rdd_assoc, op_OR_2094); + RzIlOpEffect *empty_2096 = EMPTY(); + RzIlOpEffect *for_2097 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2094), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2074, for_2097); +} + +RzILOpEffect *hex_il_op_a2_vaddhs(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_2101 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_2102 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_2101)); + RzIlOpPure *op_NOT_2103 = LOGNOT(op_LSHIFT_2102); + RzIlOpPure *op_AND_2104 = LOGAND(Rdd, op_NOT_2103); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_2105 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2106 = SHIFTR0(Rss, op_MUL_2105); + RzIlOpPure *op_AND_2107 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2106, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2108 = CAST(16, MSB(op_AND_2107), op_AND_2107); + RzIlOpPure *op_MUL_2109 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2110 = SHIFTR0(Rtt, op_MUL_2109); + RzIlOpPure *op_AND_2111 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2110, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2112 = CAST(16, MSB(op_AND_2111), op_AND_2111); + RzIlOpPure *op_ADD_2113 = ADD(cast_st16_2108, cast_st16_2112); + RzIlOpPure *c_call_2114 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_ADD_2113, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_2115 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2114, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_2116 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2117 = SHIFTR0(DUP(Rss), op_MUL_2116); + RzIlOpPure *op_AND_2118 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2117, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2119 = CAST(16, MSB(op_AND_2118), op_AND_2118); + RzIlOpPure *op_MUL_2120 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2121 = SHIFTR0(DUP(Rtt), op_MUL_2120); + RzIlOpPure *op_AND_2122 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2121, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2123 = CAST(16, MSB(op_AND_2122), op_AND_2122); + RzIlOpPure *op_ADD_2124 = ADD(cast_st16_2119, cast_st16_2123); + RzIlOpPure *op_EQ = EQ(cond_2115, op_ADD_2124); + RzIlOpPure *op_MUL_2125 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2126 = SHIFTR0(DUP(Rss), op_MUL_2125); + RzIlOpPure *op_AND_2127 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2126, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2128 = CAST(32, IL_FALSE, op_AND_2127); + RzIlOpPure *op_MUL_2129 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2130 = SHIFTR0(DUP(Rtt), op_MUL_2129); + RzIlOpPure *op_AND_2131 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2130, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2132 = CAST(16, MSB(op_AND_2131), op_AND_2131); + RzIlOpPure *op_ADD_2133 = ADD(cast_st16_2128, cast_st16_2132); + RzIlOpPure *c_call_2134 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2135 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2136 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2137 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_2135, c_call_2136, VARLP("const_pos1"))); + RzIlOpPure *cond_2138 = ITE(c_call_2134, c_call_2137, usr); + RzIlOpPure *op_MUL_2140 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2141 = SHIFTR0(DUP(Rss), op_MUL_2140); + RzIlOpPure *op_AND_2142 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2141, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2143 = CAST(32, IL_FALSE, op_AND_2142); + RzIlOpPure *op_MUL_2144 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2145 = SHIFTR0(DUP(Rtt), op_MUL_2144); + RzIlOpPure *op_AND_2146 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2145, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2147 = CAST(16, MSB(op_AND_2146), op_AND_2146); + RzIlOpPure *op_ADD_2148 = ADD(cast_st16_2143, cast_st16_2147); + RzIlOpPure *op_SUB_2149 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_2150 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_2149)); + RzIlOpPure *op_NEG_2151 = NEG(op_LSHIFT_2150); + RzIlOpPure *op_SUB_2152 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_2153 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_2152)); + RzIlOpPure *op_SUB_2154 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_2153, VARLP("const_pos1"))); + RzIlOpPure *cond_2155 = ITE(op_LT, op_NEG_2151, op_SUB_2154); + RzIlOpPure *cond_2156 = ITE(op_EQ, op_ADD_2133, cond_2155); + RzIlOpPure *op_AND_2157 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_2156, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_2158 = CAST(64, IL_FALSE, op_AND_2157); + RzIlOpPure *op_MUL_2159 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_2160 = SHIFTL0(cast_ut64_2158, op_MUL_2159); + RzIlOpPure *op_OR_2161 = LOGOR(op_AND_2104, op_LSHIFT_2160); + + // WRITE + RzIlOpEffect *empty_2098 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2099 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2100 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2139 = SETG(usr_assoc, cond_2138); + RzIlOpEffect *op_ASSIGN_2162 = SETG(Rdd_assoc, op_OR_2161); + RzIlOpEffect *empty_2163 = EMPTY(); + RzIlOpEffect *for_2164 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2161), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2098, for_2164); +} + +RzILOpEffect *hex_il_op_a2_vaddub(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffLL = UN(64, 255); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_MUL_2168 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_2169 = LET("const_pos0x0ffLL", const_pos0x0ffLL, SHIFTL0(VARLP("const_pos0x0ffLL"), op_MUL_2168)); + RzIlOpPure *op_NOT_2170 = LOGNOT(op_LSHIFT_2169); + RzIlOpPure *op_AND_2171 = LOGAND(Rdd, op_NOT_2170); + RzIlOpPure *op_MUL_2172 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2173 = SHIFTR0(Rss, op_MUL_2172); + RzIlOpPure *op_AND_2174 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2173, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_2175 = CAST(64, IL_FALSE, op_AND_2174); + RzIlOpPure *op_MUL_2176 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2177 = SHIFTR0(Rtt, op_MUL_2176); + RzIlOpPure *op_AND_2178 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2177, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_2179 = CAST(8, IL_FALSE, op_AND_2178); + RzIlOpPure *op_ADD_2180 = ADD(cast_ut8_2175, cast_ut8_2179); + RzIlOpPure *op_AND_2181 = LET("const_pos0x0ffLL", const_pos0x0ffLL, LOGAND(op_ADD_2180, VARLP("const_pos0x0ffLL"))); + RzIlOpPure *cast_ut64_2182 = CAST(64, IL_FALSE, op_AND_2181); + RzIlOpPure *op_MUL_2183 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_2184 = SHIFTL0(cast_ut64_2182, op_MUL_2183); + RzIlOpPure *op_OR_2185 = LOGOR(op_AND_2171, op_LSHIFT_2184); + + // WRITE + RzIlOpEffect *empty_2165 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2166 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2167 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2186 = SETG(Rdd_assoc, op_OR_2185); + RzIlOpEffect *empty_2187 = EMPTY(); + RzIlOpEffect *for_2188 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2185), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2165, for_2188); +} + +RzILOpEffect *hex_il_op_a2_vaddubs(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffLL = UN(64, 255); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = UN(32, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_MUL_2192 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_2193 = LET("const_pos0x0ffLL", const_pos0x0ffLL, SHIFTL0(VARLP("const_pos0x0ffLL"), op_MUL_2192)); + RzIlOpPure *op_NOT_2194 = LOGNOT(op_LSHIFT_2193); + RzIlOpPure *op_AND_2195 = LOGAND(Rdd, op_NOT_2194); + RzIlOpPure *op_NE = LET("const_pos8", const_pos8, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos8"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_2196 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2197 = SHIFTR0(Rss, op_MUL_2196); + RzIlOpPure *op_AND_2198 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2197, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_2199 = CAST(8, IL_FALSE, op_AND_2198); + RzIlOpPure *op_MUL_2200 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2201 = SHIFTR0(Rtt, op_MUL_2200); + RzIlOpPure *op_AND_2202 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2201, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_2203 = CAST(8, IL_FALSE, op_AND_2202); + RzIlOpPure *op_ADD_2204 = ADD(cast_ut8_2199, cast_ut8_2203); + RzIlOpPure *c_call_2205 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, HEX_EXTRACT64(op_ADD_2204, VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *cond_2206 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2205, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_2207 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2208 = SHIFTR0(DUP(Rss), op_MUL_2207); + RzIlOpPure *op_AND_2209 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2208, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_2210 = CAST(8, IL_FALSE, op_AND_2209); + RzIlOpPure *op_MUL_2211 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2212 = SHIFTR0(DUP(Rtt), op_MUL_2211); + RzIlOpPure *op_AND_2213 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2212, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_2214 = CAST(8, IL_FALSE, op_AND_2213); + RzIlOpPure *op_ADD_2215 = ADD(cast_ut8_2210, cast_ut8_2214); + RzIlOpPure *op_EQ = EQ(cond_2206, op_ADD_2215); + RzIlOpPure *op_MUL_2216 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2217 = SHIFTR0(DUP(Rss), op_MUL_2216); + RzIlOpPure *op_AND_2218 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2217, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_2219 = CAST(64, IL_FALSE, op_AND_2218); + RzIlOpPure *op_MUL_2220 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2221 = SHIFTR0(DUP(Rtt), op_MUL_2220); + RzIlOpPure *op_AND_2222 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2221, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_2223 = CAST(8, IL_FALSE, op_AND_2222); + RzIlOpPure *op_ADD_2224 = ADD(cast_ut8_2219, cast_ut8_2223); + RzIlOpPure *c_call_2225 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2226 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2227 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2228 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_2226, c_call_2227, VARLP("const_pos1"))); + RzIlOpPure *cond_2229 = ITE(c_call_2225, c_call_2228, usr); + RzIlOpPure *op_MUL_2231 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2232 = SHIFTR0(DUP(Rss), op_MUL_2231); + RzIlOpPure *op_AND_2233 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2232, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_2234 = CAST(32, IL_FALSE, op_AND_2233); + RzIlOpPure *op_MUL_2235 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2236 = SHIFTR0(DUP(Rtt), op_MUL_2235); + RzIlOpPure *op_AND_2237 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2236, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_2238 = CAST(8, IL_FALSE, op_AND_2237); + RzIlOpPure *op_ADD_2239 = ADD(cast_ut8_2234, cast_ut8_2238); + RzIlOpPure *op_LSHIFT_2240 = LET("const_pos1LL", const_pos1LL, LET("const_pos8", const_pos8, SHIFTL0(VARLP("const_pos1LL"), VARLP("const_pos8")))); + RzIlOpPure *op_SUB_2241 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_2240, VARLP("const_pos1"))); + RzIlOpPure *cond_2242 = LET("const_pos0", const_pos0, ITE(op_LT, VARLP("const_pos0"), op_SUB_2241)); + RzIlOpPure *cond_2243 = ITE(op_EQ, op_ADD_2224, cond_2242); + RzIlOpPure *op_AND_2244 = LET("const_pos0x0ffLL", const_pos0x0ffLL, LOGAND(cond_2243, VARLP("const_pos0x0ffLL"))); + RzIlOpPure *cast_ut64_2245 = CAST(64, IL_FALSE, op_AND_2244); + RzIlOpPure *op_MUL_2246 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_2247 = SHIFTL0(cast_ut64_2245, op_MUL_2246); + RzIlOpPure *op_OR_2248 = LOGOR(op_AND_2195, op_LSHIFT_2247); + + // WRITE + RzIlOpEffect *empty_2189 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2190 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2191 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2230 = SETG(usr_assoc, cond_2229); + RzIlOpEffect *op_ASSIGN_2249 = SETG(Rdd_assoc, op_OR_2248); + RzIlOpEffect *empty_2250 = EMPTY(); + RzIlOpEffect *for_2251 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2248), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2189, for_2251); +} + +RzILOpEffect *hex_il_op_a2_vadduhs(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = UN(32, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_2255 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_2256 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_2255)); + RzIlOpPure *op_NOT_2257 = LOGNOT(op_LSHIFT_2256); + RzIlOpPure *op_AND_2258 = LOGAND(Rdd, op_NOT_2257); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_2259 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2260 = SHIFTR0(Rss, op_MUL_2259); + RzIlOpPure *op_AND_2261 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2260, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_2262 = CAST(16, IL_FALSE, op_AND_2261); + RzIlOpPure *op_MUL_2263 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2264 = SHIFTR0(Rtt, op_MUL_2263); + RzIlOpPure *op_AND_2265 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2264, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_2266 = CAST(16, IL_FALSE, op_AND_2265); + RzIlOpPure *op_ADD_2267 = ADD(cast_ut16_2262, cast_ut16_2266); + RzIlOpPure *c_call_2268 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_EXTRACT64(op_ADD_2267, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_2269 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2268, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_2270 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2271 = SHIFTR0(DUP(Rss), op_MUL_2270); + RzIlOpPure *op_AND_2272 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2271, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_2273 = CAST(16, IL_FALSE, op_AND_2272); + RzIlOpPure *op_MUL_2274 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2275 = SHIFTR0(DUP(Rtt), op_MUL_2274); + RzIlOpPure *op_AND_2276 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2275, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_2277 = CAST(16, IL_FALSE, op_AND_2276); + RzIlOpPure *op_ADD_2278 = ADD(cast_ut16_2273, cast_ut16_2277); + RzIlOpPure *op_EQ = EQ(cond_2269, op_ADD_2278); + RzIlOpPure *op_MUL_2279 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2280 = SHIFTR0(DUP(Rss), op_MUL_2279); + RzIlOpPure *op_AND_2281 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2280, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_2282 = CAST(32, IL_FALSE, op_AND_2281); + RzIlOpPure *op_MUL_2283 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2284 = SHIFTR0(DUP(Rtt), op_MUL_2283); + RzIlOpPure *op_AND_2285 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2284, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_2286 = CAST(16, IL_FALSE, op_AND_2285); + RzIlOpPure *op_ADD_2287 = ADD(cast_ut16_2282, cast_ut16_2286); + RzIlOpPure *c_call_2288 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2289 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2290 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2291 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_2289, c_call_2290, VARLP("const_pos1"))); + RzIlOpPure *cond_2292 = ITE(c_call_2288, c_call_2291, usr); + RzIlOpPure *op_MUL_2294 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2295 = SHIFTR0(DUP(Rss), op_MUL_2294); + RzIlOpPure *op_AND_2296 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2295, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_2297 = CAST(32, IL_FALSE, op_AND_2296); + RzIlOpPure *op_MUL_2298 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2299 = SHIFTR0(DUP(Rtt), op_MUL_2298); + RzIlOpPure *op_AND_2300 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2299, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_2301 = CAST(16, IL_FALSE, op_AND_2300); + RzIlOpPure *op_ADD_2302 = ADD(cast_ut16_2297, cast_ut16_2301); + RzIlOpPure *op_LSHIFT_2303 = LET("const_pos1LL", const_pos1LL, LET("const_pos16", const_pos16, SHIFTL0(VARLP("const_pos1LL"), VARLP("const_pos16")))); + RzIlOpPure *op_SUB_2304 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_2303, VARLP("const_pos1"))); + RzIlOpPure *cond_2305 = LET("const_pos0", const_pos0, ITE(op_LT, VARLP("const_pos0"), op_SUB_2304)); + RzIlOpPure *cond_2306 = ITE(op_EQ, op_ADD_2287, cond_2305); + RzIlOpPure *op_AND_2307 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_2306, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_2308 = CAST(64, IL_FALSE, op_AND_2307); + RzIlOpPure *op_MUL_2309 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_2310 = SHIFTL0(cast_ut64_2308, op_MUL_2309); + RzIlOpPure *op_OR_2311 = LOGOR(op_AND_2258, op_LSHIFT_2310); + + // WRITE + RzIlOpEffect *empty_2252 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2253 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2254 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2293 = SETG(usr_assoc, cond_2292); + RzIlOpEffect *op_ASSIGN_2312 = SETG(Rdd_assoc, op_OR_2311); + RzIlOpEffect *empty_2313 = EMPTY(); + RzIlOpEffect *for_2314 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2311), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2252, for_2314); +} + +RzILOpEffect *hex_il_op_a2_vaddw(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_2318 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_2319 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_2318)); + RzIlOpPure *op_NOT_2320 = LOGNOT(op_LSHIFT_2319); + RzIlOpPure *op_AND_2321 = LOGAND(Rdd, op_NOT_2320); + RzIlOpPure *op_MUL_2322 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2323 = SHIFTR0(Rss, op_MUL_2322); + RzIlOpPure *op_AND_2324 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2323, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2325 = CAST(32, MSB(op_AND_2324), op_AND_2324); + RzIlOpPure *cast_st64_2326 = CAST(64, IL_FALSE, cast_st32_2325); + RzIlOpPure *op_MUL_2327 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2328 = SHIFTR0(Rtt, op_MUL_2327); + RzIlOpPure *op_AND_2329 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2328, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2330 = CAST(32, MSB(op_AND_2329), op_AND_2329); + RzIlOpPure *cast_st64_2331 = CAST(64, MSB(cast_st32_2330), cast_st32_2330); + RzIlOpPure *op_ADD_2332 = ADD(cast_st64_2326, cast_st64_2331); + RzIlOpPure *op_AND_2333 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_ADD_2332, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_2334 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_2335 = SHIFTL0(op_AND_2333, op_MUL_2334); + RzIlOpPure *op_OR_2336 = LOGOR(op_AND_2321, op_LSHIFT_2335); + + // WRITE + RzIlOpEffect *empty_2315 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2316 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2317 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2337 = SETG(Rdd_assoc, op_OR_2336); + RzIlOpEffect *empty_2338 = EMPTY(); + RzIlOpEffect *for_2339 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2336), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2315, for_2339); +} + +RzILOpEffect *hex_il_op_a2_vaddws(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_2343 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_2344 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_2343)); + RzIlOpPure *op_NOT_2345 = LOGNOT(op_LSHIFT_2344); + RzIlOpPure *op_AND_2346 = LOGAND(Rdd, op_NOT_2345); + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_2347 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2348 = SHIFTR0(Rss, op_MUL_2347); + RzIlOpPure *op_AND_2349 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2348, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2350 = CAST(32, MSB(op_AND_2349), op_AND_2349); + RzIlOpPure *cast_st64_2351 = CAST(64, MSB(cast_st32_2350), cast_st32_2350); + RzIlOpPure *op_MUL_2352 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2353 = SHIFTR0(Rtt, op_MUL_2352); + RzIlOpPure *op_AND_2354 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2353, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2355 = CAST(32, MSB(op_AND_2354), op_AND_2354); + RzIlOpPure *cast_st64_2356 = CAST(64, MSB(cast_st32_2355), cast_st32_2355); + RzIlOpPure *op_ADD_2357 = ADD(cast_st64_2351, cast_st64_2356); + RzIlOpPure *c_call_2358 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(op_ADD_2357, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_2359 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2358, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_2360 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2361 = SHIFTR0(DUP(Rss), op_MUL_2360); + RzIlOpPure *op_AND_2362 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2361, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2363 = CAST(32, MSB(op_AND_2362), op_AND_2362); + RzIlOpPure *cast_st64_2364 = CAST(64, MSB(cast_st32_2363), cast_st32_2363); + RzIlOpPure *op_MUL_2365 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2366 = SHIFTR0(DUP(Rtt), op_MUL_2365); + RzIlOpPure *op_AND_2367 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2366, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2368 = CAST(32, MSB(op_AND_2367), op_AND_2367); + RzIlOpPure *cast_st64_2369 = CAST(64, MSB(cast_st32_2368), cast_st32_2368); + RzIlOpPure *op_ADD_2370 = ADD(cast_st64_2364, cast_st64_2369); + RzIlOpPure *op_EQ = EQ(cond_2359, op_ADD_2370); + RzIlOpPure *op_MUL_2371 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2372 = SHIFTR0(DUP(Rss), op_MUL_2371); + RzIlOpPure *op_AND_2373 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2372, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2374 = CAST(32, MSB(op_AND_2373), op_AND_2373); + RzIlOpPure *cast_st64_2375 = CAST(64, IL_FALSE, cast_st32_2374); + RzIlOpPure *op_MUL_2376 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2377 = SHIFTR0(DUP(Rtt), op_MUL_2376); + RzIlOpPure *op_AND_2378 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2377, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2379 = CAST(32, MSB(op_AND_2378), op_AND_2378); + RzIlOpPure *cast_st64_2380 = CAST(64, MSB(cast_st32_2379), cast_st32_2379); + RzIlOpPure *op_ADD_2381 = ADD(cast_st64_2375, cast_st64_2380); + RzIlOpPure *c_call_2382 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2383 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2384 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2385 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_2383, c_call_2384, VARLP("const_pos1"))); + RzIlOpPure *cond_2386 = ITE(c_call_2382, c_call_2385, usr); + RzIlOpPure *op_MUL_2388 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2389 = SHIFTR0(DUP(Rss), op_MUL_2388); + RzIlOpPure *op_AND_2390 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2389, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2391 = CAST(32, MSB(op_AND_2390), op_AND_2390); + RzIlOpPure *cast_st64_2392 = CAST(32, IL_FALSE, cast_st32_2391); + RzIlOpPure *op_MUL_2393 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2394 = SHIFTR0(DUP(Rtt), op_MUL_2393); + RzIlOpPure *op_AND_2395 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2394, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2396 = CAST(32, MSB(op_AND_2395), op_AND_2395); + RzIlOpPure *cast_st64_2397 = CAST(64, MSB(cast_st32_2396), cast_st32_2396); + RzIlOpPure *op_ADD_2398 = ADD(cast_st64_2392, cast_st64_2397); + RzIlOpPure *op_SUB_2399 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_2400 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_2399)); + RzIlOpPure *op_NEG_2401 = NEG(op_LSHIFT_2400); + RzIlOpPure *op_SUB_2402 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_2403 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_2402)); + RzIlOpPure *op_SUB_2404 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_2403, VARLP("const_pos1"))); + RzIlOpPure *cond_2405 = ITE(op_LT, op_NEG_2401, op_SUB_2404); + RzIlOpPure *cond_2406 = ITE(op_EQ, op_ADD_2381, cond_2405); + RzIlOpPure *op_AND_2407 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(cond_2406, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_2408 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_2409 = SHIFTL0(op_AND_2407, op_MUL_2408); + RzIlOpPure *op_OR_2410 = LOGOR(op_AND_2346, op_LSHIFT_2409); + + // WRITE + RzIlOpEffect *empty_2340 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2341 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2342 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2387 = SETG(usr_assoc, cond_2386); + RzIlOpEffect *op_ASSIGN_2411 = SETG(Rdd_assoc, op_OR_2410); + RzIlOpEffect *empty_2412 = EMPTY(); + RzIlOpEffect *for_2413 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2410), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2340, for_2413); +} + +RzILOpEffect *hex_il_op_a2_vavgh(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_2417 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_2418 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_2417)); + RzIlOpPure *op_NOT_2419 = LOGNOT(op_LSHIFT_2418); + RzIlOpPure *op_AND_2420 = LOGAND(Rdd, op_NOT_2419); + RzIlOpPure *op_MUL_2421 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2422 = SHIFTR0(Rss, op_MUL_2421); + RzIlOpPure *op_AND_2423 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2422, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2424 = CAST(16, MSB(op_AND_2423), op_AND_2423); + RzIlOpPure *op_MUL_2425 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2426 = SHIFTR0(Rtt, op_MUL_2425); + RzIlOpPure *op_AND_2427 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2426, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2428 = CAST(16, MSB(op_AND_2427), op_AND_2427); + RzIlOpPure *op_ADD_2429 = ADD(cast_st16_2424, cast_st16_2428); + RzIlOpPure *op_RSHIFT_2430 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_2429, VARLP("const_pos1"))); + RzIlOpPure *op_AND_2431 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(op_RSHIFT_2430, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_2432 = CAST(64, IL_FALSE, op_AND_2431); + RzIlOpPure *op_MUL_2433 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_2434 = SHIFTL0(cast_ut64_2432, op_MUL_2433); + RzIlOpPure *op_OR_2435 = LOGOR(op_AND_2420, op_LSHIFT_2434); + + // WRITE + RzIlOpEffect *empty_2414 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2415 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2416 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2436 = SETG(Rdd_assoc, op_OR_2435); + RzIlOpEffect *empty_2437 = EMPTY(); + RzIlOpEffect *for_2438 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2435), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2414, for_2438); +} + +RzILOpEffect *hex_il_op_a2_vavghcr(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0x3 = UN(32, 3); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_2442 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_2443 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_2442)); + RzIlOpPure *op_NOT_2444 = LOGNOT(op_LSHIFT_2443); + RzIlOpPure *op_AND_2445 = LOGAND(Rdd, op_NOT_2444); + RzIlOpPure *op_MUL_2446 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2447 = SHIFTR0(Rss, op_MUL_2446); + RzIlOpPure *op_AND_2448 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2447, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2449 = CAST(32, IL_FALSE, op_AND_2448); + RzIlOpPure *op_MUL_2450 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2451 = SHIFTR0(Rtt, op_MUL_2450); + RzIlOpPure *op_AND_2452 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2451, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2453 = CAST(16, MSB(op_AND_2452), op_AND_2452); + RzIlOpPure *op_ADD_2454 = ADD(cast_st16_2449, cast_st16_2453); + RzIlOpPure *op_AND_2455 = LET("const_pos0x3", const_pos0x3, LOGAND(op_ADD_2454, VARLP("const_pos0x3"))); + RzIlOpPure *op_EQ = LET("const_pos0x3", const_pos0x3, EQ(op_AND_2455, VARLP("const_pos0x3"))); + RzIlOpPure *op_MUL_2456 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2457 = SHIFTR0(DUP(Rss), op_MUL_2456); + RzIlOpPure *op_AND_2458 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2457, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2459 = CAST(32, IL_FALSE, op_AND_2458); + RzIlOpPure *op_MUL_2460 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2461 = SHIFTR0(DUP(Rtt), op_MUL_2460); + RzIlOpPure *op_AND_2462 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2461, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2463 = CAST(16, MSB(op_AND_2462), op_AND_2462); + RzIlOpPure *op_ADD_2464 = ADD(cast_st16_2459, cast_st16_2463); + RzIlOpPure *op_ADD_2465 = LET("const_pos1", const_pos1, ADD(op_ADD_2464, VARLP("const_pos1"))); + RzIlOpPure *op_MUL_2466 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2467 = SHIFTR0(DUP(Rss), op_MUL_2466); + RzIlOpPure *op_AND_2468 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2467, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2469 = CAST(16, MSB(op_AND_2468), op_AND_2468); + RzIlOpPure *op_MUL_2470 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2471 = SHIFTR0(DUP(Rtt), op_MUL_2470); + RzIlOpPure *op_AND_2472 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2471, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2473 = CAST(16, MSB(op_AND_2472), op_AND_2472); + RzIlOpPure *op_ADD_2474 = ADD(cast_st16_2469, cast_st16_2473); + RzIlOpPure *cond_2475 = ITE(op_EQ, op_ADD_2465, op_ADD_2474); + RzIlOpPure *op_RSHIFT_2476 = LET("const_pos1", const_pos1, SHIFTR0(cond_2475, VARLP("const_pos1"))); + RzIlOpPure *op_AND_2477 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(op_RSHIFT_2476, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_2478 = CAST(64, IL_FALSE, op_AND_2477); + RzIlOpPure *op_MUL_2479 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_2480 = SHIFTL0(cast_ut64_2478, op_MUL_2479); + RzIlOpPure *op_OR_2481 = LOGOR(op_AND_2445, op_LSHIFT_2480); + + // WRITE + RzIlOpEffect *empty_2439 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2440 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2441 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2482 = SETG(Rdd_assoc, op_OR_2481); + RzIlOpEffect *empty_2483 = EMPTY(); + RzIlOpEffect *for_2484 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2481), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2439, for_2484); +} + +RzILOpEffect *hex_il_op_a2_vavghr(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_2488 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_2489 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_2488)); + RzIlOpPure *op_NOT_2490 = LOGNOT(op_LSHIFT_2489); + RzIlOpPure *op_AND_2491 = LOGAND(Rdd, op_NOT_2490); + RzIlOpPure *op_MUL_2492 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2493 = SHIFTR0(Rss, op_MUL_2492); + RzIlOpPure *op_AND_2494 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2493, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2495 = CAST(32, IL_FALSE, op_AND_2494); + RzIlOpPure *op_MUL_2496 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2497 = SHIFTR0(Rtt, op_MUL_2496); + RzIlOpPure *op_AND_2498 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2497, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2499 = CAST(16, MSB(op_AND_2498), op_AND_2498); + RzIlOpPure *op_ADD_2500 = ADD(cast_st16_2495, cast_st16_2499); + RzIlOpPure *op_ADD_2501 = LET("const_pos1", const_pos1, ADD(op_ADD_2500, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_2502 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_2501, VARLP("const_pos1"))); + RzIlOpPure *op_AND_2503 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(op_RSHIFT_2502, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_2504 = CAST(64, IL_FALSE, op_AND_2503); + RzIlOpPure *op_MUL_2505 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_2506 = SHIFTL0(cast_ut64_2504, op_MUL_2505); + RzIlOpPure *op_OR_2507 = LOGOR(op_AND_2491, op_LSHIFT_2506); + + // WRITE + RzIlOpEffect *empty_2485 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2486 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2487 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2508 = SETG(Rdd_assoc, op_OR_2507); + RzIlOpEffect *empty_2509 = EMPTY(); + RzIlOpEffect *for_2510 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2507), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2485, for_2510); +} + +RzILOpEffect *hex_il_op_a2_vavgub(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffLL = UN(64, 255); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(64, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_MUL_2514 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_2515 = LET("const_pos0x0ffLL", const_pos0x0ffLL, SHIFTL0(VARLP("const_pos0x0ffLL"), op_MUL_2514)); + RzIlOpPure *op_NOT_2516 = LOGNOT(op_LSHIFT_2515); + RzIlOpPure *op_AND_2517 = LOGAND(Rdd, op_NOT_2516); + RzIlOpPure *op_MUL_2518 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2519 = SHIFTR0(Rss, op_MUL_2518); + RzIlOpPure *op_AND_2520 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2519, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_2521 = CAST(8, IL_FALSE, op_AND_2520); + RzIlOpPure *op_MUL_2522 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2523 = SHIFTR0(Rtt, op_MUL_2522); + RzIlOpPure *op_AND_2524 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2523, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_2525 = CAST(8, IL_FALSE, op_AND_2524); + RzIlOpPure *op_ADD_2526 = ADD(cast_ut8_2521, cast_ut8_2525); + RzIlOpPure *op_RSHIFT_2527 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_2526, VARLP("const_pos1"))); + RzIlOpPure *op_AND_2528 = LET("const_pos0x0ffLL", const_pos0x0ffLL, LOGAND(op_RSHIFT_2527, VARLP("const_pos0x0ffLL"))); + RzIlOpPure *cast_ut64_2529 = CAST(64, IL_FALSE, op_AND_2528); + RzIlOpPure *op_MUL_2530 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_2531 = SHIFTL0(cast_ut64_2529, op_MUL_2530); + RzIlOpPure *op_OR_2532 = LOGOR(op_AND_2517, op_LSHIFT_2531); + + // WRITE + RzIlOpEffect *empty_2511 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2512 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2513 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2533 = SETG(Rdd_assoc, op_OR_2532); + RzIlOpEffect *empty_2534 = EMPTY(); + RzIlOpEffect *for_2535 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2532), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2511, for_2535); +} + +RzILOpEffect *hex_il_op_a2_vavgubr(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffLL = UN(64, 255); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_MUL_2539 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_2540 = LET("const_pos0x0ffLL", const_pos0x0ffLL, SHIFTL0(VARLP("const_pos0x0ffLL"), op_MUL_2539)); + RzIlOpPure *op_NOT_2541 = LOGNOT(op_LSHIFT_2540); + RzIlOpPure *op_AND_2542 = LOGAND(Rdd, op_NOT_2541); + RzIlOpPure *op_MUL_2543 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2544 = SHIFTR0(Rss, op_MUL_2543); + RzIlOpPure *op_AND_2545 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2544, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_2546 = CAST(64, IL_FALSE, op_AND_2545); + RzIlOpPure *op_MUL_2547 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2548 = SHIFTR0(Rtt, op_MUL_2547); + RzIlOpPure *op_AND_2549 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2548, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_2550 = CAST(8, IL_FALSE, op_AND_2549); + RzIlOpPure *op_ADD_2551 = ADD(cast_ut8_2546, cast_ut8_2550); + RzIlOpPure *op_ADD_2552 = LET("const_pos1", const_pos1, ADD(op_ADD_2551, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_2553 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_2552, VARLP("const_pos1"))); + RzIlOpPure *op_AND_2554 = LET("const_pos0x0ffLL", const_pos0x0ffLL, LOGAND(op_RSHIFT_2553, VARLP("const_pos0x0ffLL"))); + RzIlOpPure *cast_ut64_2555 = CAST(64, IL_FALSE, op_AND_2554); + RzIlOpPure *op_MUL_2556 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_2557 = SHIFTL0(cast_ut64_2555, op_MUL_2556); + RzIlOpPure *op_OR_2558 = LOGOR(op_AND_2542, op_LSHIFT_2557); + + // WRITE + RzIlOpEffect *empty_2536 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2537 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2538 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2559 = SETG(Rdd_assoc, op_OR_2558); + RzIlOpEffect *empty_2560 = EMPTY(); + RzIlOpEffect *for_2561 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2558), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2536, for_2561); +} + +RzILOpEffect *hex_il_op_a2_vavguh(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_2565 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_2566 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_2565)); + RzIlOpPure *op_NOT_2567 = LOGNOT(op_LSHIFT_2566); + RzIlOpPure *op_AND_2568 = LOGAND(Rdd, op_NOT_2567); + RzIlOpPure *op_MUL_2569 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2570 = SHIFTR0(Rss, op_MUL_2569); + RzIlOpPure *op_AND_2571 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2570, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_2572 = CAST(16, IL_FALSE, op_AND_2571); + RzIlOpPure *op_MUL_2573 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2574 = SHIFTR0(Rtt, op_MUL_2573); + RzIlOpPure *op_AND_2575 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2574, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_2576 = CAST(16, IL_FALSE, op_AND_2575); + RzIlOpPure *op_ADD_2577 = ADD(cast_ut16_2572, cast_ut16_2576); + RzIlOpPure *op_RSHIFT_2578 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_2577, VARLP("const_pos1"))); + RzIlOpPure *op_AND_2579 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(op_RSHIFT_2578, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_2580 = CAST(64, IL_FALSE, op_AND_2579); + RzIlOpPure *op_MUL_2581 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_2582 = SHIFTL0(cast_ut64_2580, op_MUL_2581); + RzIlOpPure *op_OR_2583 = LOGOR(op_AND_2568, op_LSHIFT_2582); + + // WRITE + RzIlOpEffect *empty_2562 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2563 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2564 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2584 = SETG(Rdd_assoc, op_OR_2583); + RzIlOpEffect *empty_2585 = EMPTY(); + RzIlOpEffect *for_2586 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2583), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2562, for_2586); +} + +RzILOpEffect *hex_il_op_a2_vavguhr(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_2590 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_2591 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_2590)); + RzIlOpPure *op_NOT_2592 = LOGNOT(op_LSHIFT_2591); + RzIlOpPure *op_AND_2593 = LOGAND(Rdd, op_NOT_2592); + RzIlOpPure *op_MUL_2594 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2595 = SHIFTR0(Rss, op_MUL_2594); + RzIlOpPure *op_AND_2596 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2595, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_2597 = CAST(32, IL_FALSE, op_AND_2596); + RzIlOpPure *op_MUL_2598 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2599 = SHIFTR0(Rtt, op_MUL_2598); + RzIlOpPure *op_AND_2600 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2599, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_2601 = CAST(16, IL_FALSE, op_AND_2600); + RzIlOpPure *op_ADD_2602 = ADD(cast_ut16_2597, cast_ut16_2601); + RzIlOpPure *op_ADD_2603 = LET("const_pos1", const_pos1, ADD(op_ADD_2602, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_2604 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_2603, VARLP("const_pos1"))); + RzIlOpPure *op_AND_2605 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(op_RSHIFT_2604, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_2606 = CAST(64, IL_FALSE, op_AND_2605); + RzIlOpPure *op_MUL_2607 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_2608 = SHIFTL0(cast_ut64_2606, op_MUL_2607); + RzIlOpPure *op_OR_2609 = LOGOR(op_AND_2593, op_LSHIFT_2608); + + // WRITE + RzIlOpEffect *empty_2587 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2588 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2589 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2610 = SETG(Rdd_assoc, op_OR_2609); + RzIlOpEffect *empty_2611 = EMPTY(); + RzIlOpEffect *for_2612 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2609), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2587, for_2612); +} + +RzILOpEffect *hex_il_op_a2_vavguw(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(64, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_2616 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_2617 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_2616)); + RzIlOpPure *op_NOT_2618 = LOGNOT(op_LSHIFT_2617); + RzIlOpPure *op_AND_2619 = LOGAND(Rdd, op_NOT_2618); + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_2620 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2621 = SHIFTR0(Rss, op_MUL_2620); + RzIlOpPure *op_AND_2622 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2621, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_2623 = CAST(32, IL_FALSE, op_AND_2622); + RzIlOpPure *cast_ut64_2624 = CAST(64, IL_FALSE, cast_ut32_2623); + RzIlOpPure *c_call_2625 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_EXTRACT64(cast_ut64_2624, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_2626 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2625, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_2627 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2628 = SHIFTR0(Rtt, op_MUL_2627); + RzIlOpPure *op_AND_2629 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2628, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_2630 = CAST(32, IL_FALSE, op_AND_2629); + RzIlOpPure *cast_ut64_2631 = CAST(64, IL_FALSE, cast_ut32_2630); + RzIlOpPure *c_call_2632 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_EXTRACT64(cast_ut64_2631, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_2633 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2632, VARLP("const_pos0LL"))); + RzIlOpPure *op_ADD_2634 = ADD(cond_2626, cond_2633); + RzIlOpPure *op_RSHIFT_2635 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_2634, VARLP("const_pos1"))); + RzIlOpPure *op_AND_2636 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2635, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_2637 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_2638 = SHIFTL0(op_AND_2636, op_MUL_2637); + RzIlOpPure *op_OR_2639 = LOGOR(op_AND_2619, op_LSHIFT_2638); + + // WRITE + RzIlOpEffect *empty_2613 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2614 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2615 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2640 = SETG(Rdd_assoc, op_OR_2639); + RzIlOpEffect *empty_2641 = EMPTY(); + RzIlOpEffect *for_2642 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2639), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2613, for_2642); +} + +RzILOpEffect *hex_il_op_a2_vavguwr(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_2646 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_2647 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_2646)); + RzIlOpPure *op_NOT_2648 = LOGNOT(op_LSHIFT_2647); + RzIlOpPure *op_AND_2649 = LOGAND(Rdd, op_NOT_2648); + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_2650 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2651 = SHIFTR0(Rss, op_MUL_2650); + RzIlOpPure *op_AND_2652 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2651, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_2653 = CAST(32, IL_FALSE, op_AND_2652); + RzIlOpPure *cast_ut64_2654 = CAST(64, IL_FALSE, cast_ut32_2653); + RzIlOpPure *c_call_2655 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_EXTRACT64(cast_ut64_2654, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_2656 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2655, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_2657 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2658 = SHIFTR0(Rtt, op_MUL_2657); + RzIlOpPure *op_AND_2659 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2658, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_2660 = CAST(32, IL_FALSE, op_AND_2659); + RzIlOpPure *cast_ut64_2661 = CAST(64, IL_FALSE, cast_ut32_2660); + RzIlOpPure *c_call_2662 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_EXTRACT64(cast_ut64_2661, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_2663 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2662, VARLP("const_pos0LL"))); + RzIlOpPure *op_ADD_2664 = ADD(cond_2656, cond_2663); + RzIlOpPure *op_ADD_2665 = LET("const_pos1", const_pos1, ADD(op_ADD_2664, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_2666 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_2665, VARLP("const_pos1"))); + RzIlOpPure *op_AND_2667 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2666, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_2668 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_2669 = SHIFTL0(op_AND_2667, op_MUL_2668); + RzIlOpPure *op_OR_2670 = LOGOR(op_AND_2649, op_LSHIFT_2669); + + // WRITE + RzIlOpEffect *empty_2643 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2644 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2645 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2671 = SETG(Rdd_assoc, op_OR_2670); + RzIlOpEffect *empty_2672 = EMPTY(); + RzIlOpEffect *for_2673 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2670), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2643, for_2673); +} + +RzILOpEffect *hex_il_op_a2_vavgw(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(64, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_2677 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_2678 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_2677)); + RzIlOpPure *op_NOT_2679 = LOGNOT(op_LSHIFT_2678); + RzIlOpPure *op_AND_2680 = LOGAND(Rdd, op_NOT_2679); + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_2681 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2682 = SHIFTR0(Rss, op_MUL_2681); + RzIlOpPure *op_AND_2683 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2682, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2684 = CAST(32, MSB(op_AND_2683), op_AND_2683); + RzIlOpPure *cast_st64_2685 = CAST(64, MSB(cast_st32_2684), cast_st32_2684); + RzIlOpPure *c_call_2686 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_2685, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_2687 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2686, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_2688 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2689 = SHIFTR0(Rtt, op_MUL_2688); + RzIlOpPure *op_AND_2690 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2689, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2691 = CAST(32, MSB(op_AND_2690), op_AND_2690); + RzIlOpPure *cast_st64_2692 = CAST(64, MSB(cast_st32_2691), cast_st32_2691); + RzIlOpPure *c_call_2693 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_2692, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_2694 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2693, VARLP("const_pos0LL"))); + RzIlOpPure *op_ADD_2695 = ADD(cond_2687, cond_2694); + RzIlOpPure *op_RSHIFT_2696 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_2695, VARLP("const_pos1"))); + RzIlOpPure *op_AND_2697 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2696, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_2698 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_2699 = SHIFTL0(op_AND_2697, op_MUL_2698); + RzIlOpPure *op_OR_2700 = LOGOR(op_AND_2680, op_LSHIFT_2699); + + // WRITE + RzIlOpEffect *empty_2674 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2675 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2676 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2701 = SETG(Rdd_assoc, op_OR_2700); + RzIlOpEffect *empty_2702 = EMPTY(); + RzIlOpEffect *for_2703 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2700), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2674, for_2703); +} + +RzILOpEffect *hex_il_op_a2_vavgwcr(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0x3 = UN(32, 3); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_2707 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_2708 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_2707)); + RzIlOpPure *op_NOT_2709 = LOGNOT(op_LSHIFT_2708); + RzIlOpPure *op_AND_2710 = LOGAND(Rdd, op_NOT_2709); + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_2711 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2712 = SHIFTR0(Rss, op_MUL_2711); + RzIlOpPure *op_AND_2713 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2712, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2714 = CAST(32, MSB(op_AND_2713), op_AND_2713); + RzIlOpPure *cast_st64_2715 = CAST(64, MSB(cast_st32_2714), cast_st32_2714); + RzIlOpPure *c_call_2716 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_2715, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_2717 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2716, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_2718 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2719 = SHIFTR0(Rtt, op_MUL_2718); + RzIlOpPure *op_AND_2720 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2719, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2721 = CAST(32, MSB(op_AND_2720), op_AND_2720); + RzIlOpPure *cast_st64_2722 = CAST(64, MSB(cast_st32_2721), cast_st32_2721); + RzIlOpPure *c_call_2723 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_2722, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_2724 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2723, VARLP("const_pos0LL"))); + RzIlOpPure *op_ADD_2725 = ADD(cond_2717, cond_2724); + RzIlOpPure *op_AND_2726 = LET("const_pos0x3", const_pos0x3, LOGAND(op_ADD_2725, VARLP("const_pos0x3"))); + RzIlOpPure *op_EQ = LET("const_pos0x3", const_pos0x3, EQ(op_AND_2726, VARLP("const_pos0x3"))); + RzIlOpPure *op_MUL_2727 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2728 = SHIFTR0(DUP(Rss), op_MUL_2727); + RzIlOpPure *op_AND_2729 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2728, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2730 = CAST(32, MSB(op_AND_2729), op_AND_2729); + RzIlOpPure *cast_st64_2731 = CAST(64, MSB(cast_st32_2730), cast_st32_2730); + RzIlOpPure *c_call_2732 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_2731, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_2733 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2732, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_2734 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2735 = SHIFTR0(DUP(Rtt), op_MUL_2734); + RzIlOpPure *op_AND_2736 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2735, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2737 = CAST(32, MSB(op_AND_2736), op_AND_2736); + RzIlOpPure *cast_st64_2738 = CAST(64, MSB(cast_st32_2737), cast_st32_2737); + RzIlOpPure *c_call_2739 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_2738, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_2740 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2739, VARLP("const_pos0LL"))); + RzIlOpPure *op_ADD_2741 = ADD(cond_2733, cond_2740); + RzIlOpPure *op_ADD_2742 = LET("const_pos1", const_pos1, ADD(op_ADD_2741, VARLP("const_pos1"))); + RzIlOpPure *op_MUL_2743 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2744 = SHIFTR0(DUP(Rss), op_MUL_2743); + RzIlOpPure *op_AND_2745 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2744, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2746 = CAST(32, MSB(op_AND_2745), op_AND_2745); + RzIlOpPure *cast_st64_2747 = CAST(64, MSB(cast_st32_2746), cast_st32_2746); + RzIlOpPure *c_call_2748 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_2747, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_2749 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2748, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_2750 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2751 = SHIFTR0(DUP(Rtt), op_MUL_2750); + RzIlOpPure *op_AND_2752 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2751, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2753 = CAST(32, MSB(op_AND_2752), op_AND_2752); + RzIlOpPure *cast_st64_2754 = CAST(64, MSB(cast_st32_2753), cast_st32_2753); + RzIlOpPure *c_call_2755 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_2754, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_2756 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2755, VARLP("const_pos0LL"))); + RzIlOpPure *op_ADD_2757 = ADD(cond_2749, cond_2756); + RzIlOpPure *cond_2758 = ITE(op_EQ, op_ADD_2742, op_ADD_2757); + RzIlOpPure *op_RSHIFT_2759 = LET("const_pos1", const_pos1, SHIFTR0(cond_2758, VARLP("const_pos1"))); + RzIlOpPure *op_AND_2760 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2759, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_2761 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_2762 = SHIFTL0(op_AND_2760, op_MUL_2761); + RzIlOpPure *op_OR_2763 = LOGOR(op_AND_2710, op_LSHIFT_2762); + + // WRITE + RzIlOpEffect *empty_2704 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2705 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2706 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2764 = SETG(Rdd_assoc, op_OR_2763); + RzIlOpEffect *empty_2765 = EMPTY(); + RzIlOpEffect *for_2766 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2763), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2704, for_2766); +} + +RzILOpEffect *hex_il_op_a2_vavgwr(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_2770 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_2771 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_2770)); + RzIlOpPure *op_NOT_2772 = LOGNOT(op_LSHIFT_2771); + RzIlOpPure *op_AND_2773 = LOGAND(Rdd, op_NOT_2772); + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_2774 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2775 = SHIFTR0(Rss, op_MUL_2774); + RzIlOpPure *op_AND_2776 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2775, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2777 = CAST(32, MSB(op_AND_2776), op_AND_2776); + RzIlOpPure *cast_st64_2778 = CAST(64, MSB(cast_st32_2777), cast_st32_2777); + RzIlOpPure *c_call_2779 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_2778, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_2780 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2779, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_2781 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_2782 = SHIFTR0(Rtt, op_MUL_2781); + RzIlOpPure *op_AND_2783 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2782, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_2784 = CAST(32, MSB(op_AND_2783), op_AND_2783); + RzIlOpPure *cast_st64_2785 = CAST(64, MSB(cast_st32_2784), cast_st32_2784); + RzIlOpPure *c_call_2786 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_2785, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_2787 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2786, VARLP("const_pos0LL"))); + RzIlOpPure *op_ADD_2788 = ADD(cond_2780, cond_2787); + RzIlOpPure *op_ADD_2789 = LET("const_pos1", const_pos1, ADD(op_ADD_2788, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_2790 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_2789, VARLP("const_pos1"))); + RzIlOpPure *op_AND_2791 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_2790, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_2792 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_2793 = SHIFTL0(op_AND_2791, op_MUL_2792); + RzIlOpPure *op_OR_2794 = LOGOR(op_AND_2773, op_LSHIFT_2793); + + // WRITE + RzIlOpEffect *empty_2767 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2768 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2769 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2795 = SETG(Rdd_assoc, op_OR_2794); + RzIlOpEffect *empty_2796 = EMPTY(); + RzIlOpEffect *for_2797 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_2794), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2767, for_2797); +} + +RzILOpEffect *hex_il_op_a2_vcmpbeq(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + RzILOpPure *const_pos1ULL = UN(64, 1); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_2801 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), VARL("i"))); + RzIlOpPure *op_NOT_2802 = LOGNOT(op_LSHIFT_2801); + RzIlOpPure *op_AND_2803 = LOGAND(Pd, op_NOT_2802); + RzIlOpPure *op_MUL_2804 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2805 = SHIFTR0(Rss, op_MUL_2804); + RzIlOpPure *op_AND_2806 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2805, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_2807 = CAST(8, MSB(op_AND_2806), op_AND_2806); + RzIlOpPure *op_MUL_2808 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2809 = SHIFTR0(Rtt, op_MUL_2808); + RzIlOpPure *op_AND_2810 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2809, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_2811 = CAST(8, MSB(op_AND_2810), op_AND_2810); + RzIlOpPure *op_EQ = EQ(cast_st8_2807, cast_st8_2811); + RzIlOpPure *cast_ut64_2812 = CAST(64, IL_FALSE, op_EQ); + RzIlOpPure *op_LSHIFT_2813 = SHIFTL0(cast_ut64_2812, VARL("i")); + RzIlOpPure *op_OR_2814 = LOGOR(op_AND_2803, op_LSHIFT_2813); + + // WRITE + RzIlOpEffect *empty_2798 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2799 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2800 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2815 = SETG(Pd_assoc, op_OR_2814); + RzIlOpEffect *empty_2816 = EMPTY(); + RzIlOpEffect *for_2817 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Pd_assoc, op_OR_2814), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2798, for_2817); +} + +RzILOpEffect *hex_il_op_a2_vcmpbgtu(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + RzILOpPure *const_pos1ULL = UN(64, 1); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_2821 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), VARL("i"))); + RzIlOpPure *op_NOT_2822 = LOGNOT(op_LSHIFT_2821); + RzIlOpPure *op_AND_2823 = LOGAND(Pd, op_NOT_2822); + RzIlOpPure *op_MUL_2824 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2825 = SHIFTR0(Rss, op_MUL_2824); + RzIlOpPure *op_AND_2826 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2825, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_2827 = CAST(8, IL_FALSE, op_AND_2826); + RzIlOpPure *op_MUL_2828 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_2829 = SHIFTR0(Rtt, op_MUL_2828); + RzIlOpPure *op_AND_2830 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_2829, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_2831 = CAST(8, IL_FALSE, op_AND_2830); + RzIlOpPure *op_GT = UGT(cast_ut8_2827, cast_ut8_2831); + RzIlOpPure *cast_ut64_2832 = CAST(64, IL_FALSE, op_GT); + RzIlOpPure *op_LSHIFT_2833 = SHIFTL0(cast_ut64_2832, VARL("i")); + RzIlOpPure *op_OR_2834 = LOGOR(op_AND_2823, op_LSHIFT_2833); + + // WRITE + RzIlOpEffect *empty_2818 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2819 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2820 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2835 = SETG(Pd_assoc, op_OR_2834); + RzIlOpEffect *empty_2836 = EMPTY(); + RzIlOpEffect *for_2837 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Pd_assoc, op_OR_2834), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2818, for_2837); +} + +RzILOpEffect *hex_il_op_a2_vcmpheq(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + RzILOpPure *const_pos1ULL = UN(64, 1); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_2841 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_LSHIFT_2842 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), op_MUL_2841)); + RzIlOpPure *op_NOT_2843 = LOGNOT(op_LSHIFT_2842); + RzIlOpPure *op_AND_2844 = LOGAND(Pd, op_NOT_2843); + RzIlOpPure *op_MUL_2845 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2846 = SHIFTR0(Rss, op_MUL_2845); + RzIlOpPure *op_AND_2847 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2846, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2848 = CAST(16, MSB(op_AND_2847), op_AND_2847); + RzIlOpPure *op_MUL_2849 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2850 = SHIFTR0(Rtt, op_MUL_2849); + RzIlOpPure *op_AND_2851 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2850, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2852 = CAST(16, MSB(op_AND_2851), op_AND_2851); + RzIlOpPure *op_EQ = EQ(cast_st16_2848, cast_st16_2852); + RzIlOpPure *cast_ut64_2853 = CAST(64, IL_FALSE, op_EQ); + RzIlOpPure *op_MUL_2854 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_LSHIFT_2855 = SHIFTL0(cast_ut64_2853, op_MUL_2854); + RzIlOpPure *op_OR_2856 = LOGOR(op_AND_2844, op_LSHIFT_2855); + RzIlOpPure *op_MUL_2859 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_ADD_2860 = LET("const_pos1", const_pos1, ADD(op_MUL_2859, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_2861 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), op_ADD_2860)); + RzIlOpPure *op_NOT_2862 = LOGNOT(op_LSHIFT_2861); + RzIlOpPure *op_AND_2863 = LOGAND(DUP(Pd), op_NOT_2862); + RzIlOpPure *op_MUL_2864 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2865 = SHIFTR0(DUP(Rss), op_MUL_2864); + RzIlOpPure *op_AND_2866 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2865, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2867 = CAST(16, MSB(op_AND_2866), op_AND_2866); + RzIlOpPure *op_MUL_2868 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2869 = SHIFTR0(DUP(Rtt), op_MUL_2868); + RzIlOpPure *op_AND_2870 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2869, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2871 = CAST(16, MSB(op_AND_2870), op_AND_2870); + RzIlOpPure *cast_ut64_2872 = CAST(64, IL_FALSE, op_EQ); + RzIlOpPure *op_MUL_2873 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_ADD_2874 = LET("const_pos1", const_pos1, ADD(op_MUL_2873, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_2875 = SHIFTL0(cast_ut64_2872, op_ADD_2874); + RzIlOpPure *op_OR_2876 = LOGOR(op_AND_2863, op_LSHIFT_2875); + + // WRITE + RzIlOpEffect *empty_2838 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2839 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2840 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2857 = SETG(Pd_assoc, op_OR_2856); + RzIlOpEffect *empty_2858 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2877 = SETG(Pd_assoc, op_OR_2876); + RzIlOpEffect *empty_2878 = EMPTY(); + RzIlOpEffect *for_2879 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Pd_assoc, op_OR_2856), EMPTY(), SETG(Pd_assoc, op_OR_2876), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2838, for_2879); +} + +RzILOpEffect *hex_il_op_a2_vcmphgt(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + RzILOpPure *const_pos1ULL = UN(64, 1); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_2883 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_LSHIFT_2884 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), op_MUL_2883)); + RzIlOpPure *op_NOT_2885 = LOGNOT(op_LSHIFT_2884); + RzIlOpPure *op_AND_2886 = LOGAND(Pd, op_NOT_2885); + RzIlOpPure *op_MUL_2887 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2888 = SHIFTR0(Rss, op_MUL_2887); + RzIlOpPure *op_AND_2889 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2888, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2890 = CAST(16, MSB(op_AND_2889), op_AND_2889); + RzIlOpPure *op_MUL_2891 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2892 = SHIFTR0(Rtt, op_MUL_2891); + RzIlOpPure *op_AND_2893 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2892, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2894 = CAST(16, MSB(op_AND_2893), op_AND_2893); + RzIlOpPure *op_GT = SGT(cast_st16_2890, cast_st16_2894); + RzIlOpPure *cast_ut64_2895 = CAST(64, IL_FALSE, op_GT); + RzIlOpPure *op_MUL_2896 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_LSHIFT_2897 = SHIFTL0(cast_ut64_2895, op_MUL_2896); + RzIlOpPure *op_OR_2898 = LOGOR(op_AND_2886, op_LSHIFT_2897); + RzIlOpPure *op_MUL_2901 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_ADD_2902 = LET("const_pos1", const_pos1, ADD(op_MUL_2901, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_2903 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), op_ADD_2902)); + RzIlOpPure *op_NOT_2904 = LOGNOT(op_LSHIFT_2903); + RzIlOpPure *op_AND_2905 = LOGAND(DUP(Pd), op_NOT_2904); + RzIlOpPure *op_MUL_2906 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2907 = SHIFTR0(DUP(Rss), op_MUL_2906); + RzIlOpPure *op_AND_2908 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2907, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2909 = CAST(16, MSB(op_AND_2908), op_AND_2908); + RzIlOpPure *op_MUL_2910 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2911 = SHIFTR0(DUP(Rtt), op_MUL_2910); + RzIlOpPure *op_AND_2912 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2911, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2913 = CAST(16, MSB(op_AND_2912), op_AND_2912); + RzIlOpPure *cast_ut64_2914 = CAST(64, IL_FALSE, op_GT); + RzIlOpPure *op_MUL_2915 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_ADD_2916 = LET("const_pos1", const_pos1, ADD(op_MUL_2915, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_2917 = SHIFTL0(cast_ut64_2914, op_ADD_2916); + RzIlOpPure *op_OR_2918 = LOGOR(op_AND_2905, op_LSHIFT_2917); + + // WRITE + RzIlOpEffect *empty_2880 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2881 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2882 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2899 = SETG(Pd_assoc, op_OR_2898); + RzIlOpEffect *empty_2900 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2919 = SETG(Pd_assoc, op_OR_2918); + RzIlOpEffect *empty_2920 = EMPTY(); + RzIlOpEffect *for_2921 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Pd_assoc, op_OR_2898), EMPTY(), SETG(Pd_assoc, op_OR_2918), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2880, for_2921); +} + +RzILOpEffect *hex_il_op_a2_vcmphgtu(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + RzILOpPure *const_pos1ULL = UN(64, 1); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_2925 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_LSHIFT_2926 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), op_MUL_2925)); + RzIlOpPure *op_NOT_2927 = LOGNOT(op_LSHIFT_2926); + RzIlOpPure *op_AND_2928 = LOGAND(Pd, op_NOT_2927); + RzIlOpPure *op_MUL_2929 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2930 = SHIFTR0(Rss, op_MUL_2929); + RzIlOpPure *op_AND_2931 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2930, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_2932 = CAST(16, IL_FALSE, op_AND_2931); + RzIlOpPure *op_MUL_2933 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2934 = SHIFTR0(Rtt, op_MUL_2933); + RzIlOpPure *op_AND_2935 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2934, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_2936 = CAST(16, IL_FALSE, op_AND_2935); + RzIlOpPure *op_GT = UGT(cast_ut16_2932, cast_ut16_2936); + RzIlOpPure *cast_ut64_2937 = CAST(64, IL_FALSE, op_GT); + RzIlOpPure *op_MUL_2938 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_LSHIFT_2939 = SHIFTL0(cast_ut64_2937, op_MUL_2938); + RzIlOpPure *op_OR_2940 = LOGOR(op_AND_2928, op_LSHIFT_2939); + RzIlOpPure *op_MUL_2943 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_ADD_2944 = LET("const_pos1", const_pos1, ADD(op_MUL_2943, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_2945 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), op_ADD_2944)); + RzIlOpPure *op_NOT_2946 = LOGNOT(op_LSHIFT_2945); + RzIlOpPure *op_AND_2947 = LOGAND(DUP(Pd), op_NOT_2946); + RzIlOpPure *op_MUL_2948 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2949 = SHIFTR0(DUP(Rss), op_MUL_2948); + RzIlOpPure *op_AND_2950 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2949, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_2951 = CAST(16, IL_FALSE, op_AND_2950); + RzIlOpPure *op_MUL_2952 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_2953 = SHIFTR0(DUP(Rtt), op_MUL_2952); + RzIlOpPure *op_AND_2954 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2953, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_2955 = CAST(16, IL_FALSE, op_AND_2954); + RzIlOpPure *cast_ut64_2956 = CAST(64, IL_FALSE, op_GT); + RzIlOpPure *op_MUL_2957 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_ADD_2958 = LET("const_pos1", const_pos1, ADD(op_MUL_2957, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_2959 = SHIFTL0(cast_ut64_2956, op_ADD_2958); + RzIlOpPure *op_OR_2960 = LOGOR(op_AND_2947, op_LSHIFT_2959); + + // WRITE + RzIlOpEffect *empty_2922 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2923 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_2924 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_2941 = SETG(Pd_assoc, op_OR_2940); + RzIlOpEffect *empty_2942 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2961 = SETG(Pd_assoc, op_OR_2960); + RzIlOpEffect *empty_2962 = EMPTY(); + RzIlOpEffect *for_2963 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Pd_assoc, op_OR_2940), EMPTY(), SETG(Pd_assoc, op_OR_2960), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_2922, for_2963); +} + +RzILOpEffect *hex_il_op_a2_vcmpweq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a2_vcmpwgt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a2_vcmpwgtu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a2_vconj(void *hi) { + // READ + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1LL = SN(64, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + RzILOpPure *const_pos3 = UN(32, 3); + RzILOpPure *const_pos2 = UN(32, 2); + + // EXEC + RzIlOpPure *op_MUL_2970 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_LSHIFT_2971 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_2970)); + RzIlOpPure *op_NOT_2972 = LOGNOT(op_LSHIFT_2971); + RzIlOpPure *op_AND_2973 = LOGAND(Rdd, op_NOT_2972); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_2974 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_2975 = SHIFTR0(Rss, op_MUL_2974); + RzIlOpPure *op_AND_2976 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2975, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2977 = CAST(16, MSB(op_AND_2976), op_AND_2976); + RzIlOpPure *op_NEG_2978 = NEG(cast_st16_2977); + RzIlOpPure *c_call_2979 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_NEG_2978, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_2980 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_2979, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_2981 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_2982 = SHIFTR0(DUP(Rss), op_MUL_2981); + RzIlOpPure *op_AND_2983 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2982, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2984 = CAST(16, MSB(op_AND_2983), op_AND_2983); + RzIlOpPure *op_NEG_2985 = NEG(cast_st16_2984); + RzIlOpPure *op_EQ = EQ(cond_2980, op_NEG_2985); + RzIlOpPure *op_MUL_2986 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_2987 = SHIFTR0(DUP(Rss), op_MUL_2986); + RzIlOpPure *op_AND_2988 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2987, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_2989 = CAST(32, IL_FALSE, op_AND_2988); + RzIlOpPure *op_NEG_2990 = NEG(cast_st16_2989); + RzIlOpPure *c_call_2991 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2992 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2993 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_2994 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_2992, c_call_2993, VARLP("const_pos1"))); + RzIlOpPure *cond_2995 = ITE(c_call_2991, c_call_2994, usr); + RzIlOpPure *op_MUL_2997 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_2998 = SHIFTR0(DUP(Rss), op_MUL_2997); + RzIlOpPure *op_AND_2999 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_2998, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3000 = CAST(32, IL_FALSE, op_AND_2999); + RzIlOpPure *op_NEG_3001 = NEG(cast_st16_3000); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(op_NEG_3001, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_3002 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_3003 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_3002)); + RzIlOpPure *op_NEG_3004 = NEG(op_LSHIFT_3003); + RzIlOpPure *op_SUB_3005 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_3006 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_3005)); + RzIlOpPure *op_SUB_3007 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_3006, VARLP("const_pos1"))); + RzIlOpPure *cond_3008 = ITE(op_LT, op_NEG_3004, op_SUB_3007); + RzIlOpPure *cond_3009 = ITE(op_EQ, op_NEG_2990, cond_3008); + RzIlOpPure *op_AND_3010 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_3009, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_3011 = CAST(64, IL_FALSE, op_AND_3010); + RzIlOpPure *op_MUL_3012 = LET("const_pos1", const_pos1, LET("const_pos16", const_pos16, MUL(VARLP("const_pos1"), VARLP("const_pos16")))); + RzIlOpPure *op_LSHIFT_3013 = SHIFTL0(cast_ut64_3011, op_MUL_3012); + RzIlOpPure *op_OR_3014 = LOGOR(op_AND_2973, op_LSHIFT_3013); + RzIlOpPure *op_MUL_3017 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_LSHIFT_3018 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_3017)); + RzIlOpPure *op_NOT_3019 = LOGNOT(op_LSHIFT_3018); + RzIlOpPure *op_AND_3020 = LOGAND(DUP(Rdd), op_NOT_3019); + RzIlOpPure *op_MUL_3021 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_3022 = SHIFTR0(DUP(Rss), op_MUL_3021); + RzIlOpPure *op_AND_3023 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3022, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3024 = CAST(32, IL_FALSE, op_AND_3023); + RzIlOpPure *op_AND_3025 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cast_st16_3024, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_3026 = CAST(64, IL_FALSE, op_AND_3025); + RzIlOpPure *op_MUL_3027 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_LSHIFT_3028 = SHIFTL0(cast_ut64_3026, op_MUL_3027); + RzIlOpPure *op_OR_3029 = LOGOR(op_AND_3020, op_LSHIFT_3028); + RzIlOpPure *op_MUL_3032 = LET("const_pos3", const_pos3, LET("const_pos16", const_pos16, MUL(VARLP("const_pos3"), VARLP("const_pos16")))); + RzIlOpPure *op_LSHIFT_3033 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_3032)); + RzIlOpPure *op_NOT_3034 = LOGNOT(op_LSHIFT_3033); + RzIlOpPure *op_AND_3035 = LOGAND(DUP(Rdd), op_NOT_3034); + RzIlOpPure *op_MUL_3036 = LET("const_pos3", const_pos3, LET("const_pos16", const_pos16, MUL(VARLP("const_pos3"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_3037 = SHIFTR0(DUP(Rss), op_MUL_3036); + RzIlOpPure *op_AND_3038 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3037, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3039 = CAST(16, MSB(op_AND_3038), op_AND_3038); + RzIlOpPure *op_NEG_3040 = NEG(cast_st16_3039); + RzIlOpPure *c_call_3041 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_NEG_3040, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_3042 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3041, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3043 = LET("const_pos3", const_pos3, LET("const_pos16", const_pos16, MUL(VARLP("const_pos3"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_3044 = SHIFTR0(DUP(Rss), op_MUL_3043); + RzIlOpPure *op_AND_3045 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3044, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3046 = CAST(16, MSB(op_AND_3045), op_AND_3045); + RzIlOpPure *op_NEG_3047 = NEG(cast_st16_3046); + RzIlOpPure *op_MUL_3048 = LET("const_pos3", const_pos3, LET("const_pos16", const_pos16, MUL(VARLP("const_pos3"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_3049 = SHIFTR0(DUP(Rss), op_MUL_3048); + RzIlOpPure *op_AND_3050 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3049, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3051 = CAST(32, IL_FALSE, op_AND_3050); + RzIlOpPure *op_NEG_3052 = NEG(cast_st16_3051); + RzIlOpPure *c_call_3053 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_3054 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_3055 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_3056 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_3054, c_call_3055, VARLP("const_pos1"))); + RzIlOpPure *cond_3057 = ITE(c_call_3053, c_call_3056, usr); + RzIlOpPure *op_MUL_3059 = LET("const_pos3", const_pos3, LET("const_pos16", const_pos16, MUL(VARLP("const_pos3"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_3060 = SHIFTR0(DUP(Rss), op_MUL_3059); + RzIlOpPure *op_AND_3061 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3060, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3062 = CAST(32, IL_FALSE, op_AND_3061); + RzIlOpPure *op_NEG_3063 = NEG(cast_st16_3062); + RzIlOpPure *op_SUB_3064 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_3065 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_3064)); + RzIlOpPure *op_NEG_3066 = NEG(op_LSHIFT_3065); + RzIlOpPure *op_SUB_3067 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_3068 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_3067)); + RzIlOpPure *op_SUB_3069 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_3068, VARLP("const_pos1"))); + RzIlOpPure *cond_3070 = ITE(op_LT, op_NEG_3066, op_SUB_3069); + RzIlOpPure *cond_3071 = ITE(op_EQ, op_NEG_3052, cond_3070); + RzIlOpPure *op_AND_3072 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_3071, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_3073 = CAST(64, IL_FALSE, op_AND_3072); + RzIlOpPure *op_MUL_3074 = LET("const_pos3", const_pos3, LET("const_pos16", const_pos16, MUL(VARLP("const_pos3"), VARLP("const_pos16")))); + RzIlOpPure *op_LSHIFT_3075 = SHIFTL0(cast_ut64_3073, op_MUL_3074); + RzIlOpPure *op_OR_3076 = LOGOR(op_AND_3035, op_LSHIFT_3075); + RzIlOpPure *op_MUL_3079 = LET("const_pos2", const_pos2, LET("const_pos16", const_pos16, MUL(VARLP("const_pos2"), VARLP("const_pos16")))); + RzIlOpPure *op_LSHIFT_3080 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_3079)); + RzIlOpPure *op_NOT_3081 = LOGNOT(op_LSHIFT_3080); + RzIlOpPure *op_AND_3082 = LOGAND(DUP(Rdd), op_NOT_3081); + RzIlOpPure *op_MUL_3083 = LET("const_pos2", const_pos2, LET("const_pos16", const_pos16, MUL(VARLP("const_pos2"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_3084 = SHIFTR0(DUP(Rss), op_MUL_3083); + RzIlOpPure *op_AND_3085 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3084, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3086 = CAST(32, IL_FALSE, op_AND_3085); + RzIlOpPure *op_AND_3087 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cast_st16_3086, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_3088 = CAST(64, IL_FALSE, op_AND_3087); + RzIlOpPure *op_MUL_3089 = LET("const_pos2", const_pos2, LET("const_pos16", const_pos16, MUL(VARLP("const_pos2"), VARLP("const_pos16")))); + RzIlOpPure *op_LSHIFT_3090 = SHIFTL0(cast_ut64_3088, op_MUL_3089); + RzIlOpPure *op_OR_3091 = LOGOR(op_AND_3082, op_LSHIFT_3090); + + // WRITE + RzIlOpEffect *empty_2964 = EMPTY(); + RzIlOpEffect *empty_2966 = EMPTY(); + RzIlOpEffect *empty_2968 = EMPTY(); + RzIlOpEffect *op_ASSIGN_2996 = SETG(usr_assoc, cond_2995); + RzIlOpEffect *op_ASSIGN_3015 = SETG(Rdd_assoc, op_OR_3014); + RzIlOpEffect *empty_3016 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3030 = SETG(Rdd_assoc, op_OR_3029); + RzIlOpEffect *empty_3031 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3058 = SETG(usr_assoc, cond_3057); + RzIlOpEffect *op_ASSIGN_3077 = SETG(Rdd_assoc, op_OR_3076); + RzIlOpEffect *empty_3078 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3092 = SETG(Rdd_assoc, op_OR_3091); + RzIlOpEffect *empty_3093 = EMPTY(); + + return SEQN(op_ASSIGN_3015, empty_3016, op_ASSIGN_3030, empty_3031, op_ASSIGN_3077, empty_3078, op_ASSIGN_3092, empty_3093); +} + +RzILOpEffect *hex_il_op_a2_vmaxb(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffLL = UN(64, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_MUL_3097 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_3098 = LET("const_pos0x0ffLL", const_pos0x0ffLL, SHIFTL0(VARLP("const_pos0x0ffLL"), op_MUL_3097)); + RzIlOpPure *op_NOT_3099 = LOGNOT(op_LSHIFT_3098); + RzIlOpPure *op_AND_3100 = LOGAND(Rdd, op_NOT_3099); + RzIlOpPure *op_MUL_3101 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_3102 = SHIFTR0(Rtt, op_MUL_3101); + RzIlOpPure *op_AND_3103 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_3102, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_3104 = CAST(8, MSB(op_AND_3103), op_AND_3103); + RzIlOpPure *op_MUL_3105 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_3106 = SHIFTR0(Rss, op_MUL_3105); + RzIlOpPure *op_AND_3107 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_3106, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_3108 = CAST(8, MSB(op_AND_3107), op_AND_3107); + RzIlOpPure *op_GT = SGT(cast_st8_3104, cast_st8_3108); + RzIlOpPure *op_MUL_3109 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_3110 = SHIFTR0(DUP(Rtt), op_MUL_3109); + RzIlOpPure *op_AND_3111 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_3110, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_3112 = CAST(64, MSB(op_AND_3111), op_AND_3111); + RzIlOpPure *op_MUL_3113 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_3114 = SHIFTR0(DUP(Rss), op_MUL_3113); + RzIlOpPure *op_AND_3115 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_3114, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_3116 = CAST(8, MSB(op_AND_3115), op_AND_3115); + RzIlOpPure *cond_3117 = ITE(op_GT, cast_st8_3112, cast_st8_3116); + RzIlOpPure *op_AND_3118 = LET("const_pos0x0ffLL", const_pos0x0ffLL, LOGAND(cond_3117, VARLP("const_pos0x0ffLL"))); + RzIlOpPure *cast_ut64_3119 = CAST(64, IL_FALSE, op_AND_3118); + RzIlOpPure *op_MUL_3120 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_3121 = SHIFTL0(cast_ut64_3119, op_MUL_3120); + RzIlOpPure *op_OR_3122 = LOGOR(op_AND_3100, op_LSHIFT_3121); + + // WRITE + RzIlOpEffect *empty_3094 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3095 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3096 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3123 = SETG(Rdd_assoc, op_OR_3122); + RzIlOpEffect *empty_3124 = EMPTY(); + RzIlOpEffect *for_3125 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3122), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3094, for_3125); +} + +RzILOpEffect *hex_il_op_a2_vmaxh(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_3129 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_3130 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_3129)); + RzIlOpPure *op_NOT_3131 = LOGNOT(op_LSHIFT_3130); + RzIlOpPure *op_AND_3132 = LOGAND(Rdd, op_NOT_3131); + RzIlOpPure *op_MUL_3133 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3134 = SHIFTR0(Rtt, op_MUL_3133); + RzIlOpPure *op_AND_3135 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3134, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3136 = CAST(16, MSB(op_AND_3135), op_AND_3135); + RzIlOpPure *op_MUL_3137 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3138 = SHIFTR0(Rss, op_MUL_3137); + RzIlOpPure *op_AND_3139 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3138, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3140 = CAST(16, MSB(op_AND_3139), op_AND_3139); + RzIlOpPure *op_GT = SGT(cast_st16_3136, cast_st16_3140); + RzIlOpPure *op_MUL_3141 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3142 = SHIFTR0(DUP(Rtt), op_MUL_3141); + RzIlOpPure *op_AND_3143 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3142, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3144 = CAST(32, IL_FALSE, op_AND_3143); + RzIlOpPure *op_MUL_3145 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3146 = SHIFTR0(DUP(Rss), op_MUL_3145); + RzIlOpPure *op_AND_3147 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3146, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3148 = CAST(16, MSB(op_AND_3147), op_AND_3147); + RzIlOpPure *cond_3149 = ITE(op_GT, cast_st16_3144, cast_st16_3148); + RzIlOpPure *op_AND_3150 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_3149, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_3151 = CAST(64, IL_FALSE, op_AND_3150); + RzIlOpPure *op_MUL_3152 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_3153 = SHIFTL0(cast_ut64_3151, op_MUL_3152); + RzIlOpPure *op_OR_3154 = LOGOR(op_AND_3132, op_LSHIFT_3153); + + // WRITE + RzIlOpEffect *empty_3126 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3127 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3128 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3155 = SETG(Rdd_assoc, op_OR_3154); + RzIlOpEffect *empty_3156 = EMPTY(); + RzIlOpEffect *for_3157 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3154), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3126, for_3157); +} + +RzILOpEffect *hex_il_op_a2_vmaxub(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffLL = UN(64, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_MUL_3161 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_3162 = LET("const_pos0x0ffLL", const_pos0x0ffLL, SHIFTL0(VARLP("const_pos0x0ffLL"), op_MUL_3161)); + RzIlOpPure *op_NOT_3163 = LOGNOT(op_LSHIFT_3162); + RzIlOpPure *op_AND_3164 = LOGAND(Rdd, op_NOT_3163); + RzIlOpPure *op_MUL_3165 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_3166 = SHIFTR0(Rtt, op_MUL_3165); + RzIlOpPure *op_AND_3167 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_3166, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_3168 = CAST(8, IL_FALSE, op_AND_3167); + RzIlOpPure *op_MUL_3169 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_3170 = SHIFTR0(Rss, op_MUL_3169); + RzIlOpPure *op_AND_3171 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_3170, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_3172 = CAST(8, IL_FALSE, op_AND_3171); + RzIlOpPure *op_GT = UGT(cast_ut8_3168, cast_ut8_3172); + RzIlOpPure *op_MUL_3173 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_3174 = SHIFTR0(DUP(Rtt), op_MUL_3173); + RzIlOpPure *op_AND_3175 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_3174, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_3176 = CAST(64, IL_FALSE, op_AND_3175); + RzIlOpPure *op_MUL_3177 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_3178 = SHIFTR0(DUP(Rss), op_MUL_3177); + RzIlOpPure *op_AND_3179 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_3178, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_3180 = CAST(8, IL_FALSE, op_AND_3179); + RzIlOpPure *cond_3181 = ITE(op_GT, cast_ut8_3176, cast_ut8_3180); + RzIlOpPure *op_AND_3182 = LET("const_pos0x0ffLL", const_pos0x0ffLL, LOGAND(cond_3181, VARLP("const_pos0x0ffLL"))); + RzIlOpPure *cast_ut64_3183 = CAST(64, IL_FALSE, op_AND_3182); + RzIlOpPure *op_MUL_3184 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_3185 = SHIFTL0(cast_ut64_3183, op_MUL_3184); + RzIlOpPure *op_OR_3186 = LOGOR(op_AND_3164, op_LSHIFT_3185); + + // WRITE + RzIlOpEffect *empty_3158 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3159 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3160 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3187 = SETG(Rdd_assoc, op_OR_3186); + RzIlOpEffect *empty_3188 = EMPTY(); + RzIlOpEffect *for_3189 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3186), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3158, for_3189); +} + +RzILOpEffect *hex_il_op_a2_vmaxuh(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_3193 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_3194 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_3193)); + RzIlOpPure *op_NOT_3195 = LOGNOT(op_LSHIFT_3194); + RzIlOpPure *op_AND_3196 = LOGAND(Rdd, op_NOT_3195); + RzIlOpPure *op_MUL_3197 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3198 = SHIFTR0(Rtt, op_MUL_3197); + RzIlOpPure *op_AND_3199 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3198, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_3200 = CAST(16, IL_FALSE, op_AND_3199); + RzIlOpPure *op_MUL_3201 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3202 = SHIFTR0(Rss, op_MUL_3201); + RzIlOpPure *op_AND_3203 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3202, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_3204 = CAST(16, IL_FALSE, op_AND_3203); + RzIlOpPure *op_GT = UGT(cast_ut16_3200, cast_ut16_3204); + RzIlOpPure *op_MUL_3205 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3206 = SHIFTR0(DUP(Rtt), op_MUL_3205); + RzIlOpPure *op_AND_3207 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3206, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_3208 = CAST(32, IL_FALSE, op_AND_3207); + RzIlOpPure *op_MUL_3209 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3210 = SHIFTR0(DUP(Rss), op_MUL_3209); + RzIlOpPure *op_AND_3211 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3210, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_3212 = CAST(16, IL_FALSE, op_AND_3211); + RzIlOpPure *cond_3213 = ITE(op_GT, cast_ut16_3208, cast_ut16_3212); + RzIlOpPure *op_AND_3214 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_3213, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_3215 = CAST(64, IL_FALSE, op_AND_3214); + RzIlOpPure *op_MUL_3216 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_3217 = SHIFTL0(cast_ut64_3215, op_MUL_3216); + RzIlOpPure *op_OR_3218 = LOGOR(op_AND_3196, op_LSHIFT_3217); + + // WRITE + RzIlOpEffect *empty_3190 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3191 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3192 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3219 = SETG(Rdd_assoc, op_OR_3218); + RzIlOpEffect *empty_3220 = EMPTY(); + RzIlOpEffect *for_3221 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3218), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3190, for_3221); +} + +RzILOpEffect *hex_il_op_a2_vmaxuw(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_3225 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_3226 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_3225)); + RzIlOpPure *op_NOT_3227 = LOGNOT(op_LSHIFT_3226); + RzIlOpPure *op_AND_3228 = LOGAND(Rdd, op_NOT_3227); + RzIlOpPure *op_MUL_3229 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3230 = SHIFTR0(Rtt, op_MUL_3229); + RzIlOpPure *op_AND_3231 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3230, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_3232 = CAST(32, IL_FALSE, op_AND_3231); + RzIlOpPure *cast_ut64_3233 = CAST(64, IL_FALSE, cast_ut32_3232); + RzIlOpPure *op_MUL_3234 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3235 = SHIFTR0(Rss, op_MUL_3234); + RzIlOpPure *op_AND_3236 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3235, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_3237 = CAST(32, IL_FALSE, op_AND_3236); + RzIlOpPure *cast_ut64_3238 = CAST(64, IL_FALSE, cast_ut32_3237); + RzIlOpPure *op_GT = UGT(cast_ut64_3233, cast_ut64_3238); + RzIlOpPure *op_MUL_3239 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3240 = SHIFTR0(DUP(Rtt), op_MUL_3239); + RzIlOpPure *op_AND_3241 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3240, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_3242 = CAST(32, IL_FALSE, op_AND_3241); + RzIlOpPure *cast_ut64_3243 = CAST(64, IL_FALSE, cast_ut32_3242); + RzIlOpPure *op_MUL_3244 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3245 = SHIFTR0(DUP(Rss), op_MUL_3244); + RzIlOpPure *op_AND_3246 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3245, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_3247 = CAST(32, IL_FALSE, op_AND_3246); + RzIlOpPure *cast_ut64_3248 = CAST(64, IL_FALSE, cast_ut32_3247); + RzIlOpPure *cond_3249 = ITE(op_GT, cast_ut64_3243, cast_ut64_3248); + RzIlOpPure *op_AND_3250 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(cond_3249, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_3251 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_3252 = SHIFTL0(op_AND_3250, op_MUL_3251); + RzIlOpPure *op_OR_3253 = LOGOR(op_AND_3228, op_LSHIFT_3252); + + // WRITE + RzIlOpEffect *empty_3222 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3223 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3224 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3254 = SETG(Rdd_assoc, op_OR_3253); + RzIlOpEffect *empty_3255 = EMPTY(); + RzIlOpEffect *for_3256 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3253), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3222, for_3256); +} + +RzILOpEffect *hex_il_op_a2_vmaxw(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_3260 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_3261 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_3260)); + RzIlOpPure *op_NOT_3262 = LOGNOT(op_LSHIFT_3261); + RzIlOpPure *op_AND_3263 = LOGAND(Rdd, op_NOT_3262); + RzIlOpPure *op_MUL_3264 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3265 = SHIFTR0(Rtt, op_MUL_3264); + RzIlOpPure *op_AND_3266 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3265, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3267 = CAST(32, MSB(op_AND_3266), op_AND_3266); + RzIlOpPure *cast_st64_3268 = CAST(64, MSB(cast_st32_3267), cast_st32_3267); + RzIlOpPure *op_MUL_3269 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3270 = SHIFTR0(Rss, op_MUL_3269); + RzIlOpPure *op_AND_3271 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3270, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3272 = CAST(32, MSB(op_AND_3271), op_AND_3271); + RzIlOpPure *cast_st64_3273 = CAST(64, MSB(cast_st32_3272), cast_st32_3272); + RzIlOpPure *op_GT = SGT(cast_st64_3268, cast_st64_3273); + RzIlOpPure *op_MUL_3274 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3275 = SHIFTR0(DUP(Rtt), op_MUL_3274); + RzIlOpPure *op_AND_3276 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3275, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3277 = CAST(32, MSB(op_AND_3276), op_AND_3276); + RzIlOpPure *cast_st64_3278 = CAST(64, IL_FALSE, cast_st32_3277); + RzIlOpPure *op_MUL_3279 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3280 = SHIFTR0(DUP(Rss), op_MUL_3279); + RzIlOpPure *op_AND_3281 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3280, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3282 = CAST(32, MSB(op_AND_3281), op_AND_3281); + RzIlOpPure *cast_st64_3283 = CAST(64, MSB(cast_st32_3282), cast_st32_3282); + RzIlOpPure *cond_3284 = ITE(op_GT, cast_st64_3278, cast_st64_3283); + RzIlOpPure *op_AND_3285 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(cond_3284, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_3286 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_3287 = SHIFTL0(op_AND_3285, op_MUL_3286); + RzIlOpPure *op_OR_3288 = LOGOR(op_AND_3263, op_LSHIFT_3287); + + // WRITE + RzIlOpEffect *empty_3257 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3258 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3259 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3289 = SETG(Rdd_assoc, op_OR_3288); + RzIlOpEffect *empty_3290 = EMPTY(); + RzIlOpEffect *for_3291 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3288), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3257, for_3291); +} + +RzILOpEffect *hex_il_op_a2_vminb(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffLL = UN(64, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_MUL_3295 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_3296 = LET("const_pos0x0ffLL", const_pos0x0ffLL, SHIFTL0(VARLP("const_pos0x0ffLL"), op_MUL_3295)); + RzIlOpPure *op_NOT_3297 = LOGNOT(op_LSHIFT_3296); + RzIlOpPure *op_AND_3298 = LOGAND(Rdd, op_NOT_3297); + RzIlOpPure *op_MUL_3299 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_3300 = SHIFTR0(Rtt, op_MUL_3299); + RzIlOpPure *op_AND_3301 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_3300, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_3302 = CAST(8, MSB(op_AND_3301), op_AND_3301); + RzIlOpPure *op_MUL_3303 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_3304 = SHIFTR0(Rss, op_MUL_3303); + RzIlOpPure *op_AND_3305 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_3304, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_3306 = CAST(8, MSB(op_AND_3305), op_AND_3305); + RzIlOpPure *op_MUL_3307 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_3308 = SHIFTR0(DUP(Rtt), op_MUL_3307); + RzIlOpPure *op_AND_3309 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_3308, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_3310 = CAST(64, MSB(op_AND_3309), op_AND_3309); + RzIlOpPure *op_MUL_3311 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_3312 = SHIFTR0(DUP(Rss), op_MUL_3311); + RzIlOpPure *op_AND_3313 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_3312, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_3314 = CAST(8, MSB(op_AND_3313), op_AND_3313); + RzIlOpPure *cond_3315 = ITE(op_LT, cast_st8_3310, cast_st8_3314); + RzIlOpPure *op_AND_3316 = LET("const_pos0x0ffLL", const_pos0x0ffLL, LOGAND(cond_3315, VARLP("const_pos0x0ffLL"))); + RzIlOpPure *cast_ut64_3317 = CAST(64, IL_FALSE, op_AND_3316); + RzIlOpPure *op_MUL_3318 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_3319 = SHIFTL0(cast_ut64_3317, op_MUL_3318); + RzIlOpPure *op_OR_3320 = LOGOR(op_AND_3298, op_LSHIFT_3319); + + // WRITE + RzIlOpEffect *empty_3292 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3293 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3294 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3321 = SETG(Rdd_assoc, op_OR_3320); + RzIlOpEffect *empty_3322 = EMPTY(); + RzIlOpEffect *for_3323 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3320), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3292, for_3323); +} + +RzILOpEffect *hex_il_op_a2_vminh(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_3327 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_3328 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_3327)); + RzIlOpPure *op_NOT_3329 = LOGNOT(op_LSHIFT_3328); + RzIlOpPure *op_AND_3330 = LOGAND(Rdd, op_NOT_3329); + RzIlOpPure *op_MUL_3331 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3332 = SHIFTR0(Rtt, op_MUL_3331); + RzIlOpPure *op_AND_3333 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3332, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3334 = CAST(16, MSB(op_AND_3333), op_AND_3333); + RzIlOpPure *op_MUL_3335 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3336 = SHIFTR0(Rss, op_MUL_3335); + RzIlOpPure *op_AND_3337 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3336, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3338 = CAST(16, MSB(op_AND_3337), op_AND_3337); + RzIlOpPure *op_MUL_3339 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3340 = SHIFTR0(DUP(Rtt), op_MUL_3339); + RzIlOpPure *op_AND_3341 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3340, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3342 = CAST(32, IL_FALSE, op_AND_3341); + RzIlOpPure *op_MUL_3343 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3344 = SHIFTR0(DUP(Rss), op_MUL_3343); + RzIlOpPure *op_AND_3345 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3344, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3346 = CAST(16, MSB(op_AND_3345), op_AND_3345); + RzIlOpPure *cond_3347 = ITE(op_LT, cast_st16_3342, cast_st16_3346); + RzIlOpPure *op_AND_3348 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_3347, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_3349 = CAST(64, IL_FALSE, op_AND_3348); + RzIlOpPure *op_MUL_3350 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_3351 = SHIFTL0(cast_ut64_3349, op_MUL_3350); + RzIlOpPure *op_OR_3352 = LOGOR(op_AND_3330, op_LSHIFT_3351); + + // WRITE + RzIlOpEffect *empty_3324 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3325 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3326 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3353 = SETG(Rdd_assoc, op_OR_3352); + RzIlOpEffect *empty_3354 = EMPTY(); + RzIlOpEffect *for_3355 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3352), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3324, for_3355); +} + +RzILOpEffect *hex_il_op_a2_vminub(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffLL = UN(64, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_MUL_3359 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_3360 = LET("const_pos0x0ffLL", const_pos0x0ffLL, SHIFTL0(VARLP("const_pos0x0ffLL"), op_MUL_3359)); + RzIlOpPure *op_NOT_3361 = LOGNOT(op_LSHIFT_3360); + RzIlOpPure *op_AND_3362 = LOGAND(Rdd, op_NOT_3361); + RzIlOpPure *op_MUL_3363 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_3364 = SHIFTR0(Rtt, op_MUL_3363); + RzIlOpPure *op_AND_3365 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_3364, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_3366 = CAST(8, IL_FALSE, op_AND_3365); + RzIlOpPure *op_MUL_3367 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_3368 = SHIFTR0(Rss, op_MUL_3367); + RzIlOpPure *op_AND_3369 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_3368, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_3370 = CAST(8, IL_FALSE, op_AND_3369); + RzIlOpPure *op_MUL_3371 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_3372 = SHIFTR0(DUP(Rtt), op_MUL_3371); + RzIlOpPure *op_AND_3373 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_3372, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_3374 = CAST(64, IL_FALSE, op_AND_3373); + RzIlOpPure *op_MUL_3375 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_3376 = SHIFTR0(DUP(Rss), op_MUL_3375); + RzIlOpPure *op_AND_3377 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_3376, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_3378 = CAST(8, IL_FALSE, op_AND_3377); + RzIlOpPure *cond_3379 = ITE(op_LT, cast_ut8_3374, cast_ut8_3378); + RzIlOpPure *op_AND_3380 = LET("const_pos0x0ffLL", const_pos0x0ffLL, LOGAND(cond_3379, VARLP("const_pos0x0ffLL"))); + RzIlOpPure *cast_ut64_3381 = CAST(64, IL_FALSE, op_AND_3380); + RzIlOpPure *op_MUL_3382 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_3383 = SHIFTL0(cast_ut64_3381, op_MUL_3382); + RzIlOpPure *op_OR_3384 = LOGOR(op_AND_3362, op_LSHIFT_3383); + + // WRITE + RzIlOpEffect *empty_3356 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3357 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3358 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3385 = SETG(Rdd_assoc, op_OR_3384); + RzIlOpEffect *empty_3386 = EMPTY(); + RzIlOpEffect *for_3387 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3384), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3356, for_3387); +} + +RzILOpEffect *hex_il_op_a2_vminuh(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_3391 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_3392 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_3391)); + RzIlOpPure *op_NOT_3393 = LOGNOT(op_LSHIFT_3392); + RzIlOpPure *op_AND_3394 = LOGAND(Rdd, op_NOT_3393); + RzIlOpPure *op_MUL_3395 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3396 = SHIFTR0(Rtt, op_MUL_3395); + RzIlOpPure *op_AND_3397 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3396, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_3398 = CAST(16, IL_FALSE, op_AND_3397); + RzIlOpPure *op_MUL_3399 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3400 = SHIFTR0(Rss, op_MUL_3399); + RzIlOpPure *op_AND_3401 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3400, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_3402 = CAST(16, IL_FALSE, op_AND_3401); + RzIlOpPure *op_MUL_3403 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3404 = SHIFTR0(DUP(Rtt), op_MUL_3403); + RzIlOpPure *op_AND_3405 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3404, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_3406 = CAST(32, IL_FALSE, op_AND_3405); + RzIlOpPure *op_MUL_3407 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3408 = SHIFTR0(DUP(Rss), op_MUL_3407); + RzIlOpPure *op_AND_3409 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3408, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_3410 = CAST(16, IL_FALSE, op_AND_3409); + RzIlOpPure *cond_3411 = ITE(op_LT, cast_ut16_3406, cast_ut16_3410); + RzIlOpPure *op_AND_3412 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_3411, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_3413 = CAST(64, IL_FALSE, op_AND_3412); + RzIlOpPure *op_MUL_3414 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_3415 = SHIFTL0(cast_ut64_3413, op_MUL_3414); + RzIlOpPure *op_OR_3416 = LOGOR(op_AND_3394, op_LSHIFT_3415); + + // WRITE + RzIlOpEffect *empty_3388 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3389 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3390 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3417 = SETG(Rdd_assoc, op_OR_3416); + RzIlOpEffect *empty_3418 = EMPTY(); + RzIlOpEffect *for_3419 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3416), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3388, for_3419); +} + +RzILOpEffect *hex_il_op_a2_vminuw(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_3423 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_3424 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_3423)); + RzIlOpPure *op_NOT_3425 = LOGNOT(op_LSHIFT_3424); + RzIlOpPure *op_AND_3426 = LOGAND(Rdd, op_NOT_3425); + RzIlOpPure *op_MUL_3427 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3428 = SHIFTR0(Rtt, op_MUL_3427); + RzIlOpPure *op_AND_3429 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3428, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_3430 = CAST(32, IL_FALSE, op_AND_3429); + RzIlOpPure *cast_ut64_3431 = CAST(64, IL_FALSE, cast_ut32_3430); + RzIlOpPure *op_MUL_3432 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3433 = SHIFTR0(Rss, op_MUL_3432); + RzIlOpPure *op_AND_3434 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3433, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_3435 = CAST(32, IL_FALSE, op_AND_3434); + RzIlOpPure *cast_ut64_3436 = CAST(64, IL_FALSE, cast_ut32_3435); + RzIlOpPure *op_MUL_3437 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3438 = SHIFTR0(DUP(Rtt), op_MUL_3437); + RzIlOpPure *op_AND_3439 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3438, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_3440 = CAST(32, IL_FALSE, op_AND_3439); + RzIlOpPure *cast_ut64_3441 = CAST(64, IL_FALSE, cast_ut32_3440); + RzIlOpPure *op_MUL_3442 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3443 = SHIFTR0(DUP(Rss), op_MUL_3442); + RzIlOpPure *op_AND_3444 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3443, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_3445 = CAST(32, IL_FALSE, op_AND_3444); + RzIlOpPure *cast_ut64_3446 = CAST(64, IL_FALSE, cast_ut32_3445); + RzIlOpPure *cond_3447 = ITE(op_LT, cast_ut64_3441, cast_ut64_3446); + RzIlOpPure *op_AND_3448 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(cond_3447, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_3449 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_3450 = SHIFTL0(op_AND_3448, op_MUL_3449); + RzIlOpPure *op_OR_3451 = LOGOR(op_AND_3426, op_LSHIFT_3450); + + // WRITE + RzIlOpEffect *empty_3420 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3421 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3422 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3452 = SETG(Rdd_assoc, op_OR_3451); + RzIlOpEffect *empty_3453 = EMPTY(); + RzIlOpEffect *for_3454 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3451), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3420, for_3454); +} + +RzILOpEffect *hex_il_op_a2_vminw(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_3458 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_3459 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_3458)); + RzIlOpPure *op_NOT_3460 = LOGNOT(op_LSHIFT_3459); + RzIlOpPure *op_AND_3461 = LOGAND(Rdd, op_NOT_3460); + RzIlOpPure *op_MUL_3462 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3463 = SHIFTR0(Rtt, op_MUL_3462); + RzIlOpPure *op_AND_3464 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3463, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3465 = CAST(32, MSB(op_AND_3464), op_AND_3464); + RzIlOpPure *cast_st64_3466 = CAST(64, MSB(cast_st32_3465), cast_st32_3465); + RzIlOpPure *op_MUL_3467 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3468 = SHIFTR0(Rss, op_MUL_3467); + RzIlOpPure *op_AND_3469 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3468, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3470 = CAST(32, MSB(op_AND_3469), op_AND_3469); + RzIlOpPure *cast_st64_3471 = CAST(64, MSB(cast_st32_3470), cast_st32_3470); + RzIlOpPure *op_MUL_3472 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3473 = SHIFTR0(DUP(Rtt), op_MUL_3472); + RzIlOpPure *op_AND_3474 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3473, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3475 = CAST(32, MSB(op_AND_3474), op_AND_3474); + RzIlOpPure *cast_st64_3476 = CAST(64, IL_FALSE, cast_st32_3475); + RzIlOpPure *op_MUL_3477 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3478 = SHIFTR0(DUP(Rss), op_MUL_3477); + RzIlOpPure *op_AND_3479 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3478, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3480 = CAST(32, MSB(op_AND_3479), op_AND_3479); + RzIlOpPure *cast_st64_3481 = CAST(64, MSB(cast_st32_3480), cast_st32_3480); + RzIlOpPure *cond_3482 = ITE(op_LT, cast_st64_3476, cast_st64_3481); + RzIlOpPure *op_AND_3483 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(cond_3482, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_3484 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_3485 = SHIFTL0(op_AND_3483, op_MUL_3484); + RzIlOpPure *op_OR_3486 = LOGOR(op_AND_3461, op_LSHIFT_3485); + + // WRITE + RzIlOpEffect *empty_3455 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3456 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3457 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3487 = SETG(Rdd_assoc, op_OR_3486); + RzIlOpEffect *empty_3488 = EMPTY(); + RzIlOpEffect *for_3489 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3486), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3455, for_3489); +} + +RzILOpEffect *hex_il_op_a2_vnavgh(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_3493 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_3494 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_3493)); + RzIlOpPure *op_NOT_3495 = LOGNOT(op_LSHIFT_3494); + RzIlOpPure *op_AND_3496 = LOGAND(Rdd, op_NOT_3495); + RzIlOpPure *op_MUL_3497 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3498 = SHIFTR0(Rtt, op_MUL_3497); + RzIlOpPure *op_AND_3499 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3498, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3500 = CAST(16, MSB(op_AND_3499), op_AND_3499); + RzIlOpPure *op_MUL_3501 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3502 = SHIFTR0(Rss, op_MUL_3501); + RzIlOpPure *op_AND_3503 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3502, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3504 = CAST(16, MSB(op_AND_3503), op_AND_3503); + RzIlOpPure *op_SUB_3505 = SUB(cast_st16_3500, cast_st16_3504); + RzIlOpPure *op_RSHIFT_3506 = LET("const_pos1", const_pos1, SHIFTR0(op_SUB_3505, VARLP("const_pos1"))); + RzIlOpPure *op_AND_3507 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(op_RSHIFT_3506, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_3508 = CAST(64, IL_FALSE, op_AND_3507); + RzIlOpPure *op_MUL_3509 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_3510 = SHIFTL0(cast_ut64_3508, op_MUL_3509); + RzIlOpPure *op_OR_3511 = LOGOR(op_AND_3496, op_LSHIFT_3510); + + // WRITE + RzIlOpEffect *empty_3490 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3491 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3492 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3512 = SETG(Rdd_assoc, op_OR_3511); + RzIlOpEffect *empty_3513 = EMPTY(); + RzIlOpEffect *for_3514 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3511), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3490, for_3514); +} + +RzILOpEffect *hex_il_op_a2_vnavghcr(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0x3 = UN(32, 3); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1LL = SN(64, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_3518 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_3519 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_3518)); + RzIlOpPure *op_NOT_3520 = LOGNOT(op_LSHIFT_3519); + RzIlOpPure *op_AND_3521 = LOGAND(Rdd, op_NOT_3520); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_3522 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3523 = SHIFTR0(Rtt, op_MUL_3522); + RzIlOpPure *op_AND_3524 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3523, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3525 = CAST(32, IL_FALSE, op_AND_3524); + RzIlOpPure *op_MUL_3526 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3527 = SHIFTR0(Rss, op_MUL_3526); + RzIlOpPure *op_AND_3528 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3527, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3529 = CAST(16, MSB(op_AND_3528), op_AND_3528); + RzIlOpPure *op_SUB_3530 = SUB(cast_st16_3525, cast_st16_3529); + RzIlOpPure *op_AND_3531 = LET("const_pos0x3", const_pos0x3, LOGAND(op_SUB_3530, VARLP("const_pos0x3"))); + RzIlOpPure *op_EQ = LET("const_pos0x3", const_pos0x3, EQ(op_AND_3531, VARLP("const_pos0x3"))); + RzIlOpPure *op_MUL_3532 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3533 = SHIFTR0(DUP(Rtt), op_MUL_3532); + RzIlOpPure *op_AND_3534 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3533, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3535 = CAST(32, IL_FALSE, op_AND_3534); + RzIlOpPure *op_MUL_3536 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3537 = SHIFTR0(DUP(Rss), op_MUL_3536); + RzIlOpPure *op_AND_3538 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3537, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3539 = CAST(16, MSB(op_AND_3538), op_AND_3538); + RzIlOpPure *op_SUB_3540 = SUB(cast_st16_3535, cast_st16_3539); + RzIlOpPure *op_ADD_3541 = LET("const_pos1", const_pos1, ADD(op_SUB_3540, VARLP("const_pos1"))); + RzIlOpPure *op_MUL_3542 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3543 = SHIFTR0(DUP(Rtt), op_MUL_3542); + RzIlOpPure *op_AND_3544 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3543, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3545 = CAST(16, MSB(op_AND_3544), op_AND_3544); + RzIlOpPure *op_MUL_3546 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3547 = SHIFTR0(DUP(Rss), op_MUL_3546); + RzIlOpPure *op_AND_3548 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3547, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3549 = CAST(16, MSB(op_AND_3548), op_AND_3548); + RzIlOpPure *op_SUB_3550 = SUB(cast_st16_3545, cast_st16_3549); + RzIlOpPure *cond_3551 = ITE(op_EQ, op_ADD_3541, op_SUB_3550); + RzIlOpPure *op_RSHIFT_3552 = LET("const_pos1", const_pos1, SHIFTR0(cond_3551, VARLP("const_pos1"))); + RzIlOpPure *c_call_3553 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_RSHIFT_3552, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_3554 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3553, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3555 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3556 = SHIFTR0(DUP(Rtt), op_MUL_3555); + RzIlOpPure *op_AND_3557 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3556, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3558 = CAST(32, IL_FALSE, op_AND_3557); + RzIlOpPure *op_MUL_3559 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3560 = SHIFTR0(DUP(Rss), op_MUL_3559); + RzIlOpPure *op_AND_3561 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3560, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3562 = CAST(16, MSB(op_AND_3561), op_AND_3561); + RzIlOpPure *op_SUB_3563 = SUB(cast_st16_3558, cast_st16_3562); + RzIlOpPure *op_AND_3564 = LET("const_pos0x3", const_pos0x3, LOGAND(op_SUB_3563, VARLP("const_pos0x3"))); + RzIlOpPure *op_MUL_3565 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3566 = SHIFTR0(DUP(Rtt), op_MUL_3565); + RzIlOpPure *op_AND_3567 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3566, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3568 = CAST(32, IL_FALSE, op_AND_3567); + RzIlOpPure *op_MUL_3569 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3570 = SHIFTR0(DUP(Rss), op_MUL_3569); + RzIlOpPure *op_AND_3571 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3570, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3572 = CAST(16, MSB(op_AND_3571), op_AND_3571); + RzIlOpPure *op_SUB_3573 = SUB(cast_st16_3568, cast_st16_3572); + RzIlOpPure *op_ADD_3574 = LET("const_pos1", const_pos1, ADD(op_SUB_3573, VARLP("const_pos1"))); + RzIlOpPure *op_MUL_3575 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3576 = SHIFTR0(DUP(Rtt), op_MUL_3575); + RzIlOpPure *op_AND_3577 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3576, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3578 = CAST(16, MSB(op_AND_3577), op_AND_3577); + RzIlOpPure *op_MUL_3579 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3580 = SHIFTR0(DUP(Rss), op_MUL_3579); + RzIlOpPure *op_AND_3581 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3580, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3582 = CAST(16, MSB(op_AND_3581), op_AND_3581); + RzIlOpPure *op_SUB_3583 = SUB(cast_st16_3578, cast_st16_3582); + RzIlOpPure *cond_3584 = ITE(op_EQ, op_ADD_3574, op_SUB_3583); + RzIlOpPure *op_RSHIFT_3585 = LET("const_pos1", const_pos1, SHIFTR0(cond_3584, VARLP("const_pos1"))); + RzIlOpPure *op_MUL_3586 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3587 = SHIFTR0(DUP(Rtt), op_MUL_3586); + RzIlOpPure *op_AND_3588 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3587, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3589 = CAST(32, IL_FALSE, op_AND_3588); + RzIlOpPure *op_MUL_3590 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3591 = SHIFTR0(DUP(Rss), op_MUL_3590); + RzIlOpPure *op_AND_3592 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3591, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3593 = CAST(16, MSB(op_AND_3592), op_AND_3592); + RzIlOpPure *op_SUB_3594 = SUB(cast_st16_3589, cast_st16_3593); + RzIlOpPure *op_AND_3595 = LET("const_pos0x3", const_pos0x3, LOGAND(op_SUB_3594, VARLP("const_pos0x3"))); + RzIlOpPure *op_MUL_3596 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3597 = SHIFTR0(DUP(Rtt), op_MUL_3596); + RzIlOpPure *op_AND_3598 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3597, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3599 = CAST(32, IL_FALSE, op_AND_3598); + RzIlOpPure *op_MUL_3600 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3601 = SHIFTR0(DUP(Rss), op_MUL_3600); + RzIlOpPure *op_AND_3602 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3601, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3603 = CAST(16, MSB(op_AND_3602), op_AND_3602); + RzIlOpPure *op_SUB_3604 = SUB(cast_st16_3599, cast_st16_3603); + RzIlOpPure *op_ADD_3605 = LET("const_pos1", const_pos1, ADD(op_SUB_3604, VARLP("const_pos1"))); + RzIlOpPure *op_MUL_3606 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3607 = SHIFTR0(DUP(Rtt), op_MUL_3606); + RzIlOpPure *op_AND_3608 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3607, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3609 = CAST(16, MSB(op_AND_3608), op_AND_3608); + RzIlOpPure *op_MUL_3610 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3611 = SHIFTR0(DUP(Rss), op_MUL_3610); + RzIlOpPure *op_AND_3612 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3611, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3613 = CAST(16, MSB(op_AND_3612), op_AND_3612); + RzIlOpPure *op_SUB_3614 = SUB(cast_st16_3609, cast_st16_3613); + RzIlOpPure *cond_3615 = ITE(op_EQ, op_ADD_3605, op_SUB_3614); + RzIlOpPure *op_RSHIFT_3616 = LET("const_pos1", const_pos1, SHIFTR0(cond_3615, VARLP("const_pos1"))); + RzIlOpPure *c_call_3617 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_3618 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_3619 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_3620 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_3618, c_call_3619, VARLP("const_pos1"))); + RzIlOpPure *cond_3621 = ITE(c_call_3617, c_call_3620, usr); + RzIlOpPure *op_MUL_3623 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3624 = SHIFTR0(DUP(Rtt), op_MUL_3623); + RzIlOpPure *op_AND_3625 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3624, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3626 = CAST(32, IL_FALSE, op_AND_3625); + RzIlOpPure *op_MUL_3627 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3628 = SHIFTR0(DUP(Rss), op_MUL_3627); + RzIlOpPure *op_AND_3629 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3628, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3630 = CAST(16, MSB(op_AND_3629), op_AND_3629); + RzIlOpPure *op_SUB_3631 = SUB(cast_st16_3626, cast_st16_3630); + RzIlOpPure *op_AND_3632 = LET("const_pos0x3", const_pos0x3, LOGAND(op_SUB_3631, VARLP("const_pos0x3"))); + RzIlOpPure *op_MUL_3633 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3634 = SHIFTR0(DUP(Rtt), op_MUL_3633); + RzIlOpPure *op_AND_3635 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3634, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3636 = CAST(32, IL_FALSE, op_AND_3635); + RzIlOpPure *op_MUL_3637 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3638 = SHIFTR0(DUP(Rss), op_MUL_3637); + RzIlOpPure *op_AND_3639 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3638, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3640 = CAST(16, MSB(op_AND_3639), op_AND_3639); + RzIlOpPure *op_SUB_3641 = SUB(cast_st16_3636, cast_st16_3640); + RzIlOpPure *op_ADD_3642 = LET("const_pos1", const_pos1, ADD(op_SUB_3641, VARLP("const_pos1"))); + RzIlOpPure *op_MUL_3643 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3644 = SHIFTR0(DUP(Rtt), op_MUL_3643); + RzIlOpPure *op_AND_3645 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3644, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3646 = CAST(16, MSB(op_AND_3645), op_AND_3645); + RzIlOpPure *op_MUL_3647 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3648 = SHIFTR0(DUP(Rss), op_MUL_3647); + RzIlOpPure *op_AND_3649 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3648, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3650 = CAST(16, MSB(op_AND_3649), op_AND_3649); + RzIlOpPure *op_SUB_3651 = SUB(cast_st16_3646, cast_st16_3650); + RzIlOpPure *cond_3652 = ITE(op_EQ, op_ADD_3642, op_SUB_3651); + RzIlOpPure *op_RSHIFT_3653 = LET("const_pos1", const_pos1, SHIFTR0(cond_3652, VARLP("const_pos1"))); + RzIlOpPure *op_SUB_3654 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_3655 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_3654)); + RzIlOpPure *op_NEG_3656 = NEG(op_LSHIFT_3655); + RzIlOpPure *op_SUB_3657 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_3658 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_3657)); + RzIlOpPure *op_SUB_3659 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_3658, VARLP("const_pos1"))); + RzIlOpPure *cond_3660 = ITE(op_LT, op_NEG_3656, op_SUB_3659); + RzIlOpPure *cond_3661 = ITE(op_EQ, op_RSHIFT_3616, cond_3660); + RzIlOpPure *op_AND_3662 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_3661, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_3663 = CAST(64, IL_FALSE, op_AND_3662); + RzIlOpPure *op_MUL_3664 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_3665 = SHIFTL0(cast_ut64_3663, op_MUL_3664); + RzIlOpPure *op_OR_3666 = LOGOR(op_AND_3521, op_LSHIFT_3665); + + // WRITE + RzIlOpEffect *empty_3515 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3516 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3517 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3622 = SETG(usr_assoc, cond_3621); + RzIlOpEffect *op_ASSIGN_3667 = SETG(Rdd_assoc, op_OR_3666); + RzIlOpEffect *empty_3668 = EMPTY(); + RzIlOpEffect *for_3669 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3666), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3515, for_3669); +} + +RzILOpEffect *hex_il_op_a2_vnavghr(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1LL = SN(64, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_3673 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_3674 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_3673)); + RzIlOpPure *op_NOT_3675 = LOGNOT(op_LSHIFT_3674); + RzIlOpPure *op_AND_3676 = LOGAND(Rdd, op_NOT_3675); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_3677 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3678 = SHIFTR0(Rtt, op_MUL_3677); + RzIlOpPure *op_AND_3679 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3678, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3680 = CAST(32, IL_FALSE, op_AND_3679); + RzIlOpPure *op_MUL_3681 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3682 = SHIFTR0(Rss, op_MUL_3681); + RzIlOpPure *op_AND_3683 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3682, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3684 = CAST(16, MSB(op_AND_3683), op_AND_3683); + RzIlOpPure *op_SUB_3685 = SUB(cast_st16_3680, cast_st16_3684); + RzIlOpPure *op_ADD_3686 = LET("const_pos1", const_pos1, ADD(op_SUB_3685, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_3687 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_3686, VARLP("const_pos1"))); + RzIlOpPure *c_call_3688 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_RSHIFT_3687, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_3689 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3688, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3690 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3691 = SHIFTR0(DUP(Rtt), op_MUL_3690); + RzIlOpPure *op_AND_3692 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3691, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3693 = CAST(32, IL_FALSE, op_AND_3692); + RzIlOpPure *op_MUL_3694 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3695 = SHIFTR0(DUP(Rss), op_MUL_3694); + RzIlOpPure *op_AND_3696 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3695, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3697 = CAST(16, MSB(op_AND_3696), op_AND_3696); + RzIlOpPure *op_SUB_3698 = SUB(cast_st16_3693, cast_st16_3697); + RzIlOpPure *op_ADD_3699 = LET("const_pos1", const_pos1, ADD(op_SUB_3698, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_3700 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_3699, VARLP("const_pos1"))); + RzIlOpPure *op_EQ = EQ(cond_3689, op_RSHIFT_3700); + RzIlOpPure *op_MUL_3701 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3702 = SHIFTR0(DUP(Rtt), op_MUL_3701); + RzIlOpPure *op_AND_3703 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3702, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3704 = CAST(32, IL_FALSE, op_AND_3703); + RzIlOpPure *op_MUL_3705 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3706 = SHIFTR0(DUP(Rss), op_MUL_3705); + RzIlOpPure *op_AND_3707 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3706, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3708 = CAST(16, MSB(op_AND_3707), op_AND_3707); + RzIlOpPure *op_SUB_3709 = SUB(cast_st16_3704, cast_st16_3708); + RzIlOpPure *op_ADD_3710 = LET("const_pos1", const_pos1, ADD(op_SUB_3709, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_3711 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_3710, VARLP("const_pos1"))); + RzIlOpPure *c_call_3712 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_3713 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_3714 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_3715 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_3713, c_call_3714, VARLP("const_pos1"))); + RzIlOpPure *cond_3716 = ITE(c_call_3712, c_call_3715, usr); + RzIlOpPure *op_MUL_3718 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3719 = SHIFTR0(DUP(Rtt), op_MUL_3718); + RzIlOpPure *op_AND_3720 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3719, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3721 = CAST(32, IL_FALSE, op_AND_3720); + RzIlOpPure *op_MUL_3722 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_3723 = SHIFTR0(DUP(Rss), op_MUL_3722); + RzIlOpPure *op_AND_3724 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_3723, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_3725 = CAST(16, MSB(op_AND_3724), op_AND_3724); + RzIlOpPure *op_SUB_3726 = SUB(cast_st16_3721, cast_st16_3725); + RzIlOpPure *op_ADD_3727 = LET("const_pos1", const_pos1, ADD(op_SUB_3726, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_3728 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_3727, VARLP("const_pos1"))); + RzIlOpPure *op_SUB_3729 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_3730 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_3729)); + RzIlOpPure *op_NEG_3731 = NEG(op_LSHIFT_3730); + RzIlOpPure *op_SUB_3732 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_3733 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_3732)); + RzIlOpPure *op_SUB_3734 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_3733, VARLP("const_pos1"))); + RzIlOpPure *cond_3735 = ITE(op_LT, op_NEG_3731, op_SUB_3734); + RzIlOpPure *cond_3736 = ITE(op_EQ, op_RSHIFT_3711, cond_3735); + RzIlOpPure *op_AND_3737 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_3736, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_3738 = CAST(64, IL_FALSE, op_AND_3737); + RzIlOpPure *op_MUL_3739 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_3740 = SHIFTL0(cast_ut64_3738, op_MUL_3739); + RzIlOpPure *op_OR_3741 = LOGOR(op_AND_3676, op_LSHIFT_3740); + + // WRITE + RzIlOpEffect *empty_3670 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3671 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3672 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3717 = SETG(usr_assoc, cond_3716); + RzIlOpEffect *op_ASSIGN_3742 = SETG(Rdd_assoc, op_OR_3741); + RzIlOpEffect *empty_3743 = EMPTY(); + RzIlOpEffect *for_3744 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3741), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3670, for_3744); +} + +RzILOpEffect *hex_il_op_a2_vnavgw(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos1 = UN(64, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_3748 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_3749 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_3748)); + RzIlOpPure *op_NOT_3750 = LOGNOT(op_LSHIFT_3749); + RzIlOpPure *op_AND_3751 = LOGAND(Rdd, op_NOT_3750); + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_3752 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3753 = SHIFTR0(Rtt, op_MUL_3752); + RzIlOpPure *op_AND_3754 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3753, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3755 = CAST(32, MSB(op_AND_3754), op_AND_3754); + RzIlOpPure *cast_st64_3756 = CAST(64, MSB(cast_st32_3755), cast_st32_3755); + RzIlOpPure *c_call_3757 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3756, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3758 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3757, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3759 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3760 = SHIFTR0(Rss, op_MUL_3759); + RzIlOpPure *op_AND_3761 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3760, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3762 = CAST(32, MSB(op_AND_3761), op_AND_3761); + RzIlOpPure *cast_st64_3763 = CAST(64, MSB(cast_st32_3762), cast_st32_3762); + RzIlOpPure *c_call_3764 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3763, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3765 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3764, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_3766 = SUB(cond_3758, cond_3765); + RzIlOpPure *op_RSHIFT_3767 = LET("const_pos1", const_pos1, SHIFTR0(op_SUB_3766, VARLP("const_pos1"))); + RzIlOpPure *op_AND_3768 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3767, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_3769 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_3770 = SHIFTL0(op_AND_3768, op_MUL_3769); + RzIlOpPure *op_OR_3771 = LOGOR(op_AND_3751, op_LSHIFT_3770); + + // WRITE + RzIlOpEffect *empty_3745 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3746 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3747 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3772 = SETG(Rdd_assoc, op_OR_3771); + RzIlOpEffect *empty_3773 = EMPTY(); + RzIlOpEffect *for_3774 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3771), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3745, for_3774); +} + +RzILOpEffect *hex_il_op_a2_vnavgwcr(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0x3 = UN(32, 3); + RzILOpPure *const_pos1 = UN(32, 1); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_3778 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_3779 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_3778)); + RzIlOpPure *op_NOT_3780 = LOGNOT(op_LSHIFT_3779); + RzIlOpPure *op_AND_3781 = LOGAND(Rdd, op_NOT_3780); + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_3782 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3783 = SHIFTR0(Rtt, op_MUL_3782); + RzIlOpPure *op_AND_3784 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3783, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3785 = CAST(32, MSB(op_AND_3784), op_AND_3784); + RzIlOpPure *cast_st64_3786 = CAST(64, MSB(cast_st32_3785), cast_st32_3785); + RzIlOpPure *c_call_3787 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3786, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3788 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3787, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3789 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3790 = SHIFTR0(Rss, op_MUL_3789); + RzIlOpPure *op_AND_3791 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3790, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3792 = CAST(32, MSB(op_AND_3791), op_AND_3791); + RzIlOpPure *cast_st64_3793 = CAST(64, MSB(cast_st32_3792), cast_st32_3792); + RzIlOpPure *c_call_3794 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3793, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3795 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3794, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_3796 = SUB(cond_3788, cond_3795); + RzIlOpPure *op_AND_3797 = LET("const_pos0x3", const_pos0x3, LOGAND(op_SUB_3796, VARLP("const_pos0x3"))); + RzIlOpPure *op_EQ = LET("const_pos0x3", const_pos0x3, EQ(op_AND_3797, VARLP("const_pos0x3"))); + RzIlOpPure *op_MUL_3798 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3799 = SHIFTR0(DUP(Rtt), op_MUL_3798); + RzIlOpPure *op_AND_3800 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3799, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3801 = CAST(32, MSB(op_AND_3800), op_AND_3800); + RzIlOpPure *cast_st64_3802 = CAST(64, MSB(cast_st32_3801), cast_st32_3801); + RzIlOpPure *c_call_3803 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3802, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3804 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3803, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3805 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3806 = SHIFTR0(DUP(Rss), op_MUL_3805); + RzIlOpPure *op_AND_3807 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3806, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3808 = CAST(32, MSB(op_AND_3807), op_AND_3807); + RzIlOpPure *cast_st64_3809 = CAST(64, MSB(cast_st32_3808), cast_st32_3808); + RzIlOpPure *c_call_3810 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3809, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3811 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3810, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_3812 = SUB(cond_3804, cond_3811); + RzIlOpPure *op_ADD_3813 = LET("const_pos1", const_pos1, ADD(op_SUB_3812, VARLP("const_pos1"))); + RzIlOpPure *op_MUL_3814 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3815 = SHIFTR0(DUP(Rtt), op_MUL_3814); + RzIlOpPure *op_AND_3816 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3815, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3817 = CAST(32, MSB(op_AND_3816), op_AND_3816); + RzIlOpPure *cast_st64_3818 = CAST(64, MSB(cast_st32_3817), cast_st32_3817); + RzIlOpPure *c_call_3819 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3818, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3820 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3819, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3821 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3822 = SHIFTR0(DUP(Rss), op_MUL_3821); + RzIlOpPure *op_AND_3823 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3822, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3824 = CAST(32, MSB(op_AND_3823), op_AND_3823); + RzIlOpPure *cast_st64_3825 = CAST(64, MSB(cast_st32_3824), cast_st32_3824); + RzIlOpPure *c_call_3826 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3825, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3827 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3826, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_3828 = SUB(cond_3820, cond_3827); + RzIlOpPure *cond_3829 = ITE(op_EQ, op_ADD_3813, op_SUB_3828); + RzIlOpPure *op_RSHIFT_3830 = LET("const_pos1", const_pos1, SHIFTR0(cond_3829, VARLP("const_pos1"))); + RzIlOpPure *c_call_3831 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(op_RSHIFT_3830, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3832 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3831, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3833 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3834 = SHIFTR0(DUP(Rtt), op_MUL_3833); + RzIlOpPure *op_AND_3835 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3834, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3836 = CAST(32, MSB(op_AND_3835), op_AND_3835); + RzIlOpPure *cast_st64_3837 = CAST(64, MSB(cast_st32_3836), cast_st32_3836); + RzIlOpPure *c_call_3838 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3837, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3839 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3838, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3840 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3841 = SHIFTR0(DUP(Rss), op_MUL_3840); + RzIlOpPure *op_AND_3842 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3841, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3843 = CAST(32, MSB(op_AND_3842), op_AND_3842); + RzIlOpPure *cast_st64_3844 = CAST(64, MSB(cast_st32_3843), cast_st32_3843); + RzIlOpPure *c_call_3845 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3844, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3846 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3845, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_3847 = SUB(cond_3839, cond_3846); + RzIlOpPure *op_AND_3848 = LET("const_pos0x3", const_pos0x3, LOGAND(op_SUB_3847, VARLP("const_pos0x3"))); + RzIlOpPure *op_MUL_3849 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3850 = SHIFTR0(DUP(Rtt), op_MUL_3849); + RzIlOpPure *op_AND_3851 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3850, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3852 = CAST(32, MSB(op_AND_3851), op_AND_3851); + RzIlOpPure *cast_st64_3853 = CAST(64, MSB(cast_st32_3852), cast_st32_3852); + RzIlOpPure *c_call_3854 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3853, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3855 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3854, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3856 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3857 = SHIFTR0(DUP(Rss), op_MUL_3856); + RzIlOpPure *op_AND_3858 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3857, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3859 = CAST(32, MSB(op_AND_3858), op_AND_3858); + RzIlOpPure *cast_st64_3860 = CAST(64, MSB(cast_st32_3859), cast_st32_3859); + RzIlOpPure *c_call_3861 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3860, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3862 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3861, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_3863 = SUB(cond_3855, cond_3862); + RzIlOpPure *op_ADD_3864 = LET("const_pos1", const_pos1, ADD(op_SUB_3863, VARLP("const_pos1"))); + RzIlOpPure *op_MUL_3865 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3866 = SHIFTR0(DUP(Rtt), op_MUL_3865); + RzIlOpPure *op_AND_3867 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3866, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3868 = CAST(32, MSB(op_AND_3867), op_AND_3867); + RzIlOpPure *cast_st64_3869 = CAST(64, MSB(cast_st32_3868), cast_st32_3868); + RzIlOpPure *c_call_3870 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3869, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3871 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3870, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3872 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3873 = SHIFTR0(DUP(Rss), op_MUL_3872); + RzIlOpPure *op_AND_3874 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3873, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3875 = CAST(32, MSB(op_AND_3874), op_AND_3874); + RzIlOpPure *cast_st64_3876 = CAST(64, MSB(cast_st32_3875), cast_st32_3875); + RzIlOpPure *c_call_3877 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3876, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3878 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3877, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_3879 = SUB(cond_3871, cond_3878); + RzIlOpPure *cond_3880 = ITE(op_EQ, op_ADD_3864, op_SUB_3879); + RzIlOpPure *op_RSHIFT_3881 = LET("const_pos1", const_pos1, SHIFTR0(cond_3880, VARLP("const_pos1"))); + RzIlOpPure *op_MUL_3882 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3883 = SHIFTR0(DUP(Rtt), op_MUL_3882); + RzIlOpPure *op_AND_3884 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3883, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3885 = CAST(32, MSB(op_AND_3884), op_AND_3884); + RzIlOpPure *cast_st64_3886 = CAST(64, MSB(cast_st32_3885), cast_st32_3885); + RzIlOpPure *c_call_3887 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3886, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3888 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3887, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3889 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3890 = SHIFTR0(DUP(Rss), op_MUL_3889); + RzIlOpPure *op_AND_3891 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3890, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3892 = CAST(32, MSB(op_AND_3891), op_AND_3891); + RzIlOpPure *cast_st64_3893 = CAST(64, MSB(cast_st32_3892), cast_st32_3892); + RzIlOpPure *c_call_3894 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3893, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3895 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3894, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_3896 = SUB(cond_3888, cond_3895); + RzIlOpPure *op_AND_3897 = LET("const_pos0x3", const_pos0x3, LOGAND(op_SUB_3896, VARLP("const_pos0x3"))); + RzIlOpPure *op_MUL_3898 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3899 = SHIFTR0(DUP(Rtt), op_MUL_3898); + RzIlOpPure *op_AND_3900 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3899, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3901 = CAST(32, MSB(op_AND_3900), op_AND_3900); + RzIlOpPure *cast_st64_3902 = CAST(64, MSB(cast_st32_3901), cast_st32_3901); + RzIlOpPure *c_call_3903 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3902, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3904 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3903, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3905 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3906 = SHIFTR0(DUP(Rss), op_MUL_3905); + RzIlOpPure *op_AND_3907 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3906, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3908 = CAST(32, MSB(op_AND_3907), op_AND_3907); + RzIlOpPure *cast_st64_3909 = CAST(64, MSB(cast_st32_3908), cast_st32_3908); + RzIlOpPure *c_call_3910 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3909, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3911 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3910, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_3912 = SUB(cond_3904, cond_3911); + RzIlOpPure *op_ADD_3913 = LET("const_pos1", const_pos1, ADD(op_SUB_3912, VARLP("const_pos1"))); + RzIlOpPure *op_MUL_3914 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3915 = SHIFTR0(DUP(Rtt), op_MUL_3914); + RzIlOpPure *op_AND_3916 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3915, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3917 = CAST(32, MSB(op_AND_3916), op_AND_3916); + RzIlOpPure *cast_st64_3918 = CAST(64, MSB(cast_st32_3917), cast_st32_3917); + RzIlOpPure *c_call_3919 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3918, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3920 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3919, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3921 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3922 = SHIFTR0(DUP(Rss), op_MUL_3921); + RzIlOpPure *op_AND_3923 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3922, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3924 = CAST(32, MSB(op_AND_3923), op_AND_3923); + RzIlOpPure *cast_st64_3925 = CAST(64, MSB(cast_st32_3924), cast_st32_3924); + RzIlOpPure *c_call_3926 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3925, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3927 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3926, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_3928 = SUB(cond_3920, cond_3927); + RzIlOpPure *cond_3929 = ITE(op_EQ, op_ADD_3913, op_SUB_3928); + RzIlOpPure *op_RSHIFT_3930 = LET("const_pos1", const_pos1, SHIFTR0(cond_3929, VARLP("const_pos1"))); + RzIlOpPure *c_call_3931 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_3932 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_3933 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_3934 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_3932, c_call_3933, VARLP("const_pos1"))); + RzIlOpPure *cond_3935 = ITE(c_call_3931, c_call_3934, usr); + RzIlOpPure *op_MUL_3937 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3938 = SHIFTR0(DUP(Rtt), op_MUL_3937); + RzIlOpPure *op_AND_3939 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3938, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3940 = CAST(32, MSB(op_AND_3939), op_AND_3939); + RzIlOpPure *cast_st64_3941 = CAST(64, MSB(cast_st32_3940), cast_st32_3940); + RzIlOpPure *c_call_3942 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3941, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3943 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3942, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3944 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3945 = SHIFTR0(DUP(Rss), op_MUL_3944); + RzIlOpPure *op_AND_3946 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3945, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3947 = CAST(32, MSB(op_AND_3946), op_AND_3946); + RzIlOpPure *cast_st64_3948 = CAST(64, MSB(cast_st32_3947), cast_st32_3947); + RzIlOpPure *c_call_3949 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3948, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3950 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3949, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_3951 = SUB(cond_3943, cond_3950); + RzIlOpPure *op_AND_3952 = LET("const_pos0x3", const_pos0x3, LOGAND(op_SUB_3951, VARLP("const_pos0x3"))); + RzIlOpPure *op_MUL_3953 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3954 = SHIFTR0(DUP(Rtt), op_MUL_3953); + RzIlOpPure *op_AND_3955 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3954, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3956 = CAST(32, MSB(op_AND_3955), op_AND_3955); + RzIlOpPure *cast_st64_3957 = CAST(64, MSB(cast_st32_3956), cast_st32_3956); + RzIlOpPure *c_call_3958 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3957, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3959 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3958, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3960 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3961 = SHIFTR0(DUP(Rss), op_MUL_3960); + RzIlOpPure *op_AND_3962 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3961, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3963 = CAST(32, MSB(op_AND_3962), op_AND_3962); + RzIlOpPure *cast_st64_3964 = CAST(64, MSB(cast_st32_3963), cast_st32_3963); + RzIlOpPure *c_call_3965 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3964, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3966 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3965, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_3967 = SUB(cond_3959, cond_3966); + RzIlOpPure *op_ADD_3968 = LET("const_pos1", const_pos1, ADD(op_SUB_3967, VARLP("const_pos1"))); + RzIlOpPure *op_MUL_3969 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3970 = SHIFTR0(DUP(Rtt), op_MUL_3969); + RzIlOpPure *op_AND_3971 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3970, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3972 = CAST(32, MSB(op_AND_3971), op_AND_3971); + RzIlOpPure *cast_st64_3973 = CAST(64, MSB(cast_st32_3972), cast_st32_3972); + RzIlOpPure *c_call_3974 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3973, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3975 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3974, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_3976 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_3977 = SHIFTR0(DUP(Rss), op_MUL_3976); + RzIlOpPure *op_AND_3978 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_3977, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_3979 = CAST(32, MSB(op_AND_3978), op_AND_3978); + RzIlOpPure *cast_st64_3980 = CAST(64, MSB(cast_st32_3979), cast_st32_3979); + RzIlOpPure *c_call_3981 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_3980, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_3982 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_3981, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_3983 = SUB(cond_3975, cond_3982); + RzIlOpPure *cond_3984 = ITE(op_EQ, op_ADD_3968, op_SUB_3983); + RzIlOpPure *op_RSHIFT_3985 = LET("const_pos1", const_pos1, SHIFTR0(cond_3984, VARLP("const_pos1"))); + RzIlOpPure *op_SUB_3986 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_3987 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_3986)); + RzIlOpPure *op_NEG_3988 = NEG(op_LSHIFT_3987); + RzIlOpPure *op_SUB_3989 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_3990 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_3989)); + RzIlOpPure *op_SUB_3991 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_3990, VARLP("const_pos1"))); + RzIlOpPure *cond_3992 = ITE(op_LT, op_NEG_3988, op_SUB_3991); + RzIlOpPure *cond_3993 = ITE(op_EQ, op_RSHIFT_3930, cond_3992); + RzIlOpPure *op_AND_3994 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(cond_3993, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_3995 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_3996 = SHIFTL0(op_AND_3994, op_MUL_3995); + RzIlOpPure *op_OR_3997 = LOGOR(op_AND_3781, op_LSHIFT_3996); + + // WRITE + RzIlOpEffect *empty_3775 = EMPTY(); + RzIlOpEffect *op_ASSIGN_3776 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_3777 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_3936 = SETG(usr_assoc, cond_3935); + RzIlOpEffect *op_ASSIGN_3998 = SETG(Rdd_assoc, op_OR_3997); + RzIlOpEffect *empty_3999 = EMPTY(); + RzIlOpEffect *for_4000 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_3997), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_3775, for_4000); +} + +RzILOpEffect *hex_il_op_a2_vnavgwr(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_4004 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_4005 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4004)); + RzIlOpPure *op_NOT_4006 = LOGNOT(op_LSHIFT_4005); + RzIlOpPure *op_AND_4007 = LOGAND(Rdd, op_NOT_4006); + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_4008 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4009 = SHIFTR0(Rtt, op_MUL_4008); + RzIlOpPure *op_AND_4010 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4009, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4011 = CAST(32, MSB(op_AND_4010), op_AND_4010); + RzIlOpPure *cast_st64_4012 = CAST(64, MSB(cast_st32_4011), cast_st32_4011); + RzIlOpPure *c_call_4013 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_4012, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_4014 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4013, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_4015 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4016 = SHIFTR0(Rss, op_MUL_4015); + RzIlOpPure *op_AND_4017 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4016, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4018 = CAST(32, MSB(op_AND_4017), op_AND_4017); + RzIlOpPure *cast_st64_4019 = CAST(64, MSB(cast_st32_4018), cast_st32_4018); + RzIlOpPure *c_call_4020 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_4019, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_4021 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4020, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_4022 = SUB(cond_4014, cond_4021); + RzIlOpPure *op_ADD_4023 = LET("const_pos1", const_pos1, ADD(op_SUB_4022, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_4024 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_4023, VARLP("const_pos1"))); + RzIlOpPure *c_call_4025 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(op_RSHIFT_4024, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_4026 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4025, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_4027 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4028 = SHIFTR0(DUP(Rtt), op_MUL_4027); + RzIlOpPure *op_AND_4029 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4028, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4030 = CAST(32, MSB(op_AND_4029), op_AND_4029); + RzIlOpPure *cast_st64_4031 = CAST(64, MSB(cast_st32_4030), cast_st32_4030); + RzIlOpPure *c_call_4032 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_4031, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_4033 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4032, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_4034 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4035 = SHIFTR0(DUP(Rss), op_MUL_4034); + RzIlOpPure *op_AND_4036 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4035, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4037 = CAST(32, MSB(op_AND_4036), op_AND_4036); + RzIlOpPure *cast_st64_4038 = CAST(64, MSB(cast_st32_4037), cast_st32_4037); + RzIlOpPure *c_call_4039 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_4038, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_4040 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4039, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_4041 = SUB(cond_4033, cond_4040); + RzIlOpPure *op_ADD_4042 = LET("const_pos1", const_pos1, ADD(op_SUB_4041, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_4043 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_4042, VARLP("const_pos1"))); + RzIlOpPure *op_EQ = EQ(cond_4026, op_RSHIFT_4043); + RzIlOpPure *op_MUL_4044 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4045 = SHIFTR0(DUP(Rtt), op_MUL_4044); + RzIlOpPure *op_AND_4046 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4045, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4047 = CAST(32, MSB(op_AND_4046), op_AND_4046); + RzIlOpPure *cast_st64_4048 = CAST(64, MSB(cast_st32_4047), cast_st32_4047); + RzIlOpPure *c_call_4049 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_4048, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_4050 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4049, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_4051 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4052 = SHIFTR0(DUP(Rss), op_MUL_4051); + RzIlOpPure *op_AND_4053 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4052, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4054 = CAST(32, MSB(op_AND_4053), op_AND_4053); + RzIlOpPure *cast_st64_4055 = CAST(64, MSB(cast_st32_4054), cast_st32_4054); + RzIlOpPure *c_call_4056 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_4055, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_4057 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4056, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_4058 = SUB(cond_4050, cond_4057); + RzIlOpPure *op_ADD_4059 = LET("const_pos1", const_pos1, ADD(op_SUB_4058, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_4060 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_4059, VARLP("const_pos1"))); + RzIlOpPure *c_call_4061 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_4062 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_4063 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_4064 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_4062, c_call_4063, VARLP("const_pos1"))); + RzIlOpPure *cond_4065 = ITE(c_call_4061, c_call_4064, usr); + RzIlOpPure *op_MUL_4067 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4068 = SHIFTR0(DUP(Rtt), op_MUL_4067); + RzIlOpPure *op_AND_4069 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4068, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4070 = CAST(32, MSB(op_AND_4069), op_AND_4069); + RzIlOpPure *cast_st64_4071 = CAST(64, MSB(cast_st32_4070), cast_st32_4070); + RzIlOpPure *c_call_4072 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_4071, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_4073 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4072, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_4074 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4075 = SHIFTR0(DUP(Rss), op_MUL_4074); + RzIlOpPure *op_AND_4076 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4075, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4077 = CAST(32, MSB(op_AND_4076), op_AND_4076); + RzIlOpPure *cast_st64_4078 = CAST(64, MSB(cast_st32_4077), cast_st32_4077); + RzIlOpPure *c_call_4079 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cast_st64_4078, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_4080 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4079, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_4081 = SUB(cond_4073, cond_4080); + RzIlOpPure *op_ADD_4082 = LET("const_pos1", const_pos1, ADD(op_SUB_4081, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_4083 = LET("const_pos1", const_pos1, SHIFTR0(op_ADD_4082, VARLP("const_pos1"))); + RzIlOpPure *op_SUB_4084 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_4085 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_4084)); + RzIlOpPure *op_NEG_4086 = NEG(op_LSHIFT_4085); + RzIlOpPure *op_SUB_4087 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_4088 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_4087)); + RzIlOpPure *op_SUB_4089 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_4088, VARLP("const_pos1"))); + RzIlOpPure *cond_4090 = ITE(op_LT, op_NEG_4086, op_SUB_4089); + RzIlOpPure *cond_4091 = ITE(op_EQ, op_RSHIFT_4060, cond_4090); + RzIlOpPure *op_AND_4092 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(cond_4091, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4093 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_4094 = SHIFTL0(op_AND_4092, op_MUL_4093); + RzIlOpPure *op_OR_4095 = LOGOR(op_AND_4007, op_LSHIFT_4094); + + // WRITE + RzIlOpEffect *empty_4001 = EMPTY(); + RzIlOpEffect *op_ASSIGN_4002 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_4003 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_4066 = SETG(usr_assoc, cond_4065); + RzIlOpEffect *op_ASSIGN_4096 = SETG(Rdd_assoc, op_OR_4095); + RzIlOpEffect *empty_4097 = EMPTY(); + RzIlOpEffect *for_4098 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_4095), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_4001, for_4098); +} + +RzILOpEffect *hex_il_op_a2_vraddub(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + // Declare: ut32 i; + RzILOpPure *const_pos4 = UN(32, 4); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_4103 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4104 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4103)); + RzIlOpPure *op_NOT_4105 = LOGNOT(op_LSHIFT_4104); + RzIlOpPure *op_AND_4106 = LOGAND(Rdd, op_NOT_4105); + RzIlOpPure *op_MUL_4107 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_4108 = SHIFTR0(DUP(Rdd), op_MUL_4107); + RzIlOpPure *op_AND_4109 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4108, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4110 = CAST(32, MSB(op_AND_4109), op_AND_4109); + RzIlOpPure *cast_st64_4111 = CAST(64, IL_FALSE, cast_st32_4110); + RzIlOpPure *op_MUL_4112 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4113 = SHIFTR0(Rss, op_MUL_4112); + RzIlOpPure *op_AND_4114 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4113, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4115 = CAST(8, IL_FALSE, op_AND_4114); + RzIlOpPure *op_MUL_4116 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4117 = SHIFTR0(Rtt, op_MUL_4116); + RzIlOpPure *op_AND_4118 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4117, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4119 = CAST(8, IL_FALSE, op_AND_4118); + RzIlOpPure *op_ADD_4120 = ADD(cast_ut8_4115, cast_ut8_4119); + RzIlOpPure *op_ADD_4121 = ADD(cast_st64_4111, op_ADD_4120); + RzIlOpPure *op_AND_4122 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_ADD_4121, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4123 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4124 = SHIFTL0(op_AND_4122, op_MUL_4123); + RzIlOpPure *op_OR_4125 = LOGOR(op_AND_4106, op_LSHIFT_4124); + RzIlOpPure *op_MUL_4131 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4132 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4131)); + RzIlOpPure *op_NOT_4133 = LOGNOT(op_LSHIFT_4132); + RzIlOpPure *op_AND_4134 = LOGAND(DUP(Rdd), op_NOT_4133); + RzIlOpPure *op_MUL_4135 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_4136 = SHIFTR0(DUP(Rdd), op_MUL_4135); + RzIlOpPure *op_AND_4137 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4136, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4138 = CAST(32, MSB(op_AND_4137), op_AND_4137); + RzIlOpPure *cast_st64_4139 = CAST(64, IL_FALSE, cast_st32_4138); + RzIlOpPure *op_MUL_4140 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4141 = SHIFTR0(DUP(Rss), op_MUL_4140); + RzIlOpPure *op_AND_4142 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4141, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4143 = CAST(8, IL_FALSE, op_AND_4142); + RzIlOpPure *op_MUL_4144 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4145 = SHIFTR0(DUP(Rtt), op_MUL_4144); + RzIlOpPure *op_AND_4146 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4145, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4147 = CAST(8, IL_FALSE, op_AND_4146); + RzIlOpPure *op_ADD_4148 = ADD(cast_ut8_4143, cast_ut8_4147); + RzIlOpPure *op_ADD_4149 = ADD(cast_st64_4139, op_ADD_4148); + RzIlOpPure *op_AND_4150 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_ADD_4149, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4151 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4152 = SHIFTL0(op_AND_4150, op_MUL_4151); + RzIlOpPure *op_OR_4153 = LOGOR(op_AND_4134, op_LSHIFT_4152); + + // WRITE + RzIlOpEffect *empty_4099 = EMPTY(); + RzIlOpEffect *op_ASSIGN_4100 = SETG(Rdd_assoc, const_pos0); + RzIlOpEffect *op_ASSIGN_4101 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_4102 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_4126 = SETG(Rdd_assoc, op_OR_4125); + RzIlOpEffect *empty_4127 = EMPTY(); + RzIlOpEffect *for_4128 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_4125), EMPTY(), SETL("i", INC(VARL("i")))))); + RzIlOpEffect *op_ASSIGN_4129 = SETL("i", const_pos4); + RzIlOpEffect *op_INC_4130 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_4154 = SETG(Rdd_assoc, op_OR_4153); + RzIlOpEffect *empty_4155 = EMPTY(); + RzIlOpEffect *for_4156 = SEQ2(SETL("i", const_pos4), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_4153), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_4099, op_ASSIGN_4100, for_4128, for_4156); +} + +RzILOpEffect *hex_il_op_a2_vraddub_acc(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rxx_assoc = ISA2REG(hi, "Rxx", false); + RzIlOpPure *Rxx = VARG(Rxx_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_4160 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4161 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4160)); + RzIlOpPure *op_NOT_4162 = LOGNOT(op_LSHIFT_4161); + RzIlOpPure *op_AND_4163 = LOGAND(Rxx, op_NOT_4162); + RzIlOpPure *op_MUL_4164 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_4165 = SHIFTR0(DUP(Rxx), op_MUL_4164); + RzIlOpPure *op_AND_4166 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4165, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4167 = CAST(32, MSB(op_AND_4166), op_AND_4166); + RzIlOpPure *cast_st64_4168 = CAST(64, IL_FALSE, cast_st32_4167); + RzIlOpPure *op_MUL_4169 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4170 = SHIFTR0(Rss, op_MUL_4169); + RzIlOpPure *op_AND_4171 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4170, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4172 = CAST(8, IL_FALSE, op_AND_4171); + RzIlOpPure *op_MUL_4173 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4174 = SHIFTR0(Rtt, op_MUL_4173); + RzIlOpPure *op_AND_4175 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4174, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4176 = CAST(8, IL_FALSE, op_AND_4175); + RzIlOpPure *op_ADD_4177 = ADD(cast_ut8_4172, cast_ut8_4176); + RzIlOpPure *op_ADD_4178 = ADD(cast_st64_4168, op_ADD_4177); + RzIlOpPure *op_AND_4179 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_ADD_4178, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4180 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4181 = SHIFTL0(op_AND_4179, op_MUL_4180); + RzIlOpPure *op_OR_4182 = LOGOR(op_AND_4163, op_LSHIFT_4181); + RzIlOpPure *op_MUL_4188 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4189 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4188)); + RzIlOpPure *op_NOT_4190 = LOGNOT(op_LSHIFT_4189); + RzIlOpPure *op_AND_4191 = LOGAND(DUP(Rxx), op_NOT_4190); + RzIlOpPure *op_MUL_4192 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_4193 = SHIFTR0(DUP(Rxx), op_MUL_4192); + RzIlOpPure *op_AND_4194 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4193, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4195 = CAST(32, MSB(op_AND_4194), op_AND_4194); + RzIlOpPure *cast_st64_4196 = CAST(64, IL_FALSE, cast_st32_4195); + RzIlOpPure *op_MUL_4197 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4198 = SHIFTR0(DUP(Rss), op_MUL_4197); + RzIlOpPure *op_AND_4199 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4198, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4200 = CAST(8, IL_FALSE, op_AND_4199); + RzIlOpPure *op_MUL_4201 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4202 = SHIFTR0(DUP(Rtt), op_MUL_4201); + RzIlOpPure *op_AND_4203 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4202, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4204 = CAST(8, IL_FALSE, op_AND_4203); + RzIlOpPure *op_ADD_4205 = ADD(cast_ut8_4200, cast_ut8_4204); + RzIlOpPure *op_ADD_4206 = ADD(cast_st64_4196, op_ADD_4205); + RzIlOpPure *op_AND_4207 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_ADD_4206, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4208 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4209 = SHIFTL0(op_AND_4207, op_MUL_4208); + RzIlOpPure *op_OR_4210 = LOGOR(op_AND_4191, op_LSHIFT_4209); + + // WRITE + RzIlOpEffect *empty_4157 = EMPTY(); + RzIlOpEffect *op_ASSIGN_4158 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_4159 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_4183 = SETG(Rxx_assoc, op_OR_4182); + RzIlOpEffect *empty_4184 = EMPTY(); + RzIlOpEffect *for_4185 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rxx_assoc, op_OR_4182), EMPTY(), SETL("i", INC(VARL("i")))))); + RzIlOpEffect *op_ASSIGN_4186 = SETL("i", const_pos4); + RzIlOpEffect *op_INC_4187 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_4211 = SETG(Rxx_assoc, op_OR_4210); + RzIlOpEffect *empty_4212 = EMPTY(); + RzIlOpEffect *for_4213 = SEQ2(SETL("i", const_pos4), + REPEAT(op_LT, + SEQN(SETG(Rxx_assoc, op_OR_4210), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_4157, for_4185, for_4213); +} + +RzILOpEffect *hex_il_op_a2_vrsadub(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + // Declare: ut32 i; + RzILOpPure *const_pos4 = UN(32, 4); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_4218 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4219 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4218)); + RzIlOpPure *op_NOT_4220 = LOGNOT(op_LSHIFT_4219); + RzIlOpPure *op_AND_4221 = LOGAND(Rdd, op_NOT_4220); + RzIlOpPure *op_MUL_4222 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_4223 = SHIFTR0(DUP(Rdd), op_MUL_4222); + RzIlOpPure *op_AND_4224 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4223, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4225 = CAST(32, MSB(op_AND_4224), op_AND_4224); + RzIlOpPure *cast_st64_4226 = CAST(64, IL_FALSE, cast_st32_4225); + RzIlOpPure *op_MUL_4227 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4228 = SHIFTR0(Rss, op_MUL_4227); + RzIlOpPure *op_AND_4229 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4228, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4230 = CAST(32, IL_FALSE, op_AND_4229); + RzIlOpPure *op_MUL_4231 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4232 = SHIFTR0(Rtt, op_MUL_4231); + RzIlOpPure *op_AND_4233 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4232, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4234 = CAST(8, IL_FALSE, op_AND_4233); + RzIlOpPure *op_SUB_4235 = SUB(cast_ut8_4230, cast_ut8_4234); + RzIlOpPure *op_MUL_4236 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4237 = SHIFTR0(DUP(Rss), op_MUL_4236); + RzIlOpPure *op_AND_4238 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4237, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4239 = CAST(8, IL_FALSE, op_AND_4238); + RzIlOpPure *op_MUL_4240 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4241 = SHIFTR0(DUP(Rtt), op_MUL_4240); + RzIlOpPure *op_AND_4242 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4241, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4243 = CAST(8, IL_FALSE, op_AND_4242); + RzIlOpPure *op_SUB_4244 = SUB(cast_ut8_4239, cast_ut8_4243); + RzIlOpPure *op_NEG_4245 = NEG(op_SUB_4244); + RzIlOpPure *op_MUL_4246 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4247 = SHIFTR0(DUP(Rss), op_MUL_4246); + RzIlOpPure *op_AND_4248 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4247, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4249 = CAST(8, IL_FALSE, op_AND_4248); + RzIlOpPure *op_MUL_4250 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4251 = SHIFTR0(DUP(Rtt), op_MUL_4250); + RzIlOpPure *op_AND_4252 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4251, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4253 = CAST(8, IL_FALSE, op_AND_4252); + RzIlOpPure *op_SUB_4254 = SUB(cast_ut8_4249, cast_ut8_4253); + RzIlOpPure *cond_4255 = ITE(op_LT, op_NEG_4245, op_SUB_4254); + RzIlOpPure *op_ADD_4256 = ADD(cast_st64_4226, cond_4255); + RzIlOpPure *op_AND_4257 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_ADD_4256, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4258 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4259 = SHIFTL0(op_AND_4257, op_MUL_4258); + RzIlOpPure *op_OR_4260 = LOGOR(op_AND_4221, op_LSHIFT_4259); + RzIlOpPure *op_MUL_4266 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4267 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4266)); + RzIlOpPure *op_NOT_4268 = LOGNOT(op_LSHIFT_4267); + RzIlOpPure *op_AND_4269 = LOGAND(DUP(Rdd), op_NOT_4268); + RzIlOpPure *op_MUL_4270 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_4271 = SHIFTR0(DUP(Rdd), op_MUL_4270); + RzIlOpPure *op_AND_4272 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4271, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4273 = CAST(32, MSB(op_AND_4272), op_AND_4272); + RzIlOpPure *cast_st64_4274 = CAST(64, IL_FALSE, cast_st32_4273); + RzIlOpPure *op_MUL_4275 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4276 = SHIFTR0(DUP(Rss), op_MUL_4275); + RzIlOpPure *op_AND_4277 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4276, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4278 = CAST(32, IL_FALSE, op_AND_4277); + RzIlOpPure *op_MUL_4279 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4280 = SHIFTR0(DUP(Rtt), op_MUL_4279); + RzIlOpPure *op_AND_4281 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4280, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4282 = CAST(8, IL_FALSE, op_AND_4281); + RzIlOpPure *op_SUB_4283 = SUB(cast_ut8_4278, cast_ut8_4282); + RzIlOpPure *op_MUL_4284 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4285 = SHIFTR0(DUP(Rss), op_MUL_4284); + RzIlOpPure *op_AND_4286 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4285, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4287 = CAST(8, IL_FALSE, op_AND_4286); + RzIlOpPure *op_MUL_4288 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4289 = SHIFTR0(DUP(Rtt), op_MUL_4288); + RzIlOpPure *op_AND_4290 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4289, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4291 = CAST(8, IL_FALSE, op_AND_4290); + RzIlOpPure *op_SUB_4292 = SUB(cast_ut8_4287, cast_ut8_4291); + RzIlOpPure *op_NEG_4293 = NEG(op_SUB_4292); + RzIlOpPure *op_MUL_4294 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4295 = SHIFTR0(DUP(Rss), op_MUL_4294); + RzIlOpPure *op_AND_4296 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4295, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4297 = CAST(8, IL_FALSE, op_AND_4296); + RzIlOpPure *op_MUL_4298 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4299 = SHIFTR0(DUP(Rtt), op_MUL_4298); + RzIlOpPure *op_AND_4300 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4299, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4301 = CAST(8, IL_FALSE, op_AND_4300); + RzIlOpPure *op_SUB_4302 = SUB(cast_ut8_4297, cast_ut8_4301); + RzIlOpPure *cond_4303 = ITE(op_LT, op_NEG_4293, op_SUB_4302); + RzIlOpPure *op_ADD_4304 = ADD(cast_st64_4274, cond_4303); + RzIlOpPure *op_AND_4305 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_ADD_4304, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4306 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4307 = SHIFTL0(op_AND_4305, op_MUL_4306); + RzIlOpPure *op_OR_4308 = LOGOR(op_AND_4269, op_LSHIFT_4307); + + // WRITE + RzIlOpEffect *empty_4214 = EMPTY(); + RzIlOpEffect *op_ASSIGN_4215 = SETG(Rdd_assoc, const_pos0); + RzIlOpEffect *op_ASSIGN_4216 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_4217 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_4261 = SETG(Rdd_assoc, op_OR_4260); + RzIlOpEffect *empty_4262 = EMPTY(); + RzIlOpEffect *for_4263 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_4260), EMPTY(), SETL("i", INC(VARL("i")))))); + RzIlOpEffect *op_ASSIGN_4264 = SETL("i", const_pos4); + RzIlOpEffect *op_INC_4265 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_4309 = SETG(Rdd_assoc, op_OR_4308); + RzIlOpEffect *empty_4310 = EMPTY(); + RzIlOpEffect *for_4311 = SEQ2(SETL("i", const_pos4), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_4308), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_4214, op_ASSIGN_4215, for_4263, for_4311); +} + +RzILOpEffect *hex_il_op_a2_vrsadub_acc(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rxx_assoc = ISA2REG(hi, "Rxx", false); + RzIlOpPure *Rxx = VARG(Rxx_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_4315 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4316 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4315)); + RzIlOpPure *op_NOT_4317 = LOGNOT(op_LSHIFT_4316); + RzIlOpPure *op_AND_4318 = LOGAND(Rxx, op_NOT_4317); + RzIlOpPure *op_MUL_4319 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_4320 = SHIFTR0(DUP(Rxx), op_MUL_4319); + RzIlOpPure *op_AND_4321 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4320, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4322 = CAST(32, MSB(op_AND_4321), op_AND_4321); + RzIlOpPure *cast_st64_4323 = CAST(64, IL_FALSE, cast_st32_4322); + RzIlOpPure *op_MUL_4324 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4325 = SHIFTR0(Rss, op_MUL_4324); + RzIlOpPure *op_AND_4326 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4325, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4327 = CAST(32, IL_FALSE, op_AND_4326); + RzIlOpPure *op_MUL_4328 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4329 = SHIFTR0(Rtt, op_MUL_4328); + RzIlOpPure *op_AND_4330 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4329, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4331 = CAST(8, IL_FALSE, op_AND_4330); + RzIlOpPure *op_SUB_4332 = SUB(cast_ut8_4327, cast_ut8_4331); + RzIlOpPure *op_MUL_4333 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4334 = SHIFTR0(DUP(Rss), op_MUL_4333); + RzIlOpPure *op_AND_4335 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4334, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4336 = CAST(8, IL_FALSE, op_AND_4335); + RzIlOpPure *op_MUL_4337 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4338 = SHIFTR0(DUP(Rtt), op_MUL_4337); + RzIlOpPure *op_AND_4339 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4338, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4340 = CAST(8, IL_FALSE, op_AND_4339); + RzIlOpPure *op_SUB_4341 = SUB(cast_ut8_4336, cast_ut8_4340); + RzIlOpPure *op_NEG_4342 = NEG(op_SUB_4341); + RzIlOpPure *op_MUL_4343 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4344 = SHIFTR0(DUP(Rss), op_MUL_4343); + RzIlOpPure *op_AND_4345 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4344, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4346 = CAST(8, IL_FALSE, op_AND_4345); + RzIlOpPure *op_MUL_4347 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4348 = SHIFTR0(DUP(Rtt), op_MUL_4347); + RzIlOpPure *op_AND_4349 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4348, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4350 = CAST(8, IL_FALSE, op_AND_4349); + RzIlOpPure *op_SUB_4351 = SUB(cast_ut8_4346, cast_ut8_4350); + RzIlOpPure *cond_4352 = ITE(op_LT, op_NEG_4342, op_SUB_4351); + RzIlOpPure *op_ADD_4353 = ADD(cast_st64_4323, cond_4352); + RzIlOpPure *op_AND_4354 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_ADD_4353, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4355 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4356 = SHIFTL0(op_AND_4354, op_MUL_4355); + RzIlOpPure *op_OR_4357 = LOGOR(op_AND_4318, op_LSHIFT_4356); + RzIlOpPure *op_MUL_4363 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4364 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4363)); + RzIlOpPure *op_NOT_4365 = LOGNOT(op_LSHIFT_4364); + RzIlOpPure *op_AND_4366 = LOGAND(DUP(Rxx), op_NOT_4365); + RzIlOpPure *op_MUL_4367 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_4368 = SHIFTR0(DUP(Rxx), op_MUL_4367); + RzIlOpPure *op_AND_4369 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4368, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4370 = CAST(32, MSB(op_AND_4369), op_AND_4369); + RzIlOpPure *cast_st64_4371 = CAST(64, IL_FALSE, cast_st32_4370); + RzIlOpPure *op_MUL_4372 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4373 = SHIFTR0(DUP(Rss), op_MUL_4372); + RzIlOpPure *op_AND_4374 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4373, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4375 = CAST(32, IL_FALSE, op_AND_4374); + RzIlOpPure *op_MUL_4376 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4377 = SHIFTR0(DUP(Rtt), op_MUL_4376); + RzIlOpPure *op_AND_4378 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4377, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4379 = CAST(8, IL_FALSE, op_AND_4378); + RzIlOpPure *op_SUB_4380 = SUB(cast_ut8_4375, cast_ut8_4379); + RzIlOpPure *op_MUL_4381 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4382 = SHIFTR0(DUP(Rss), op_MUL_4381); + RzIlOpPure *op_AND_4383 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4382, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4384 = CAST(8, IL_FALSE, op_AND_4383); + RzIlOpPure *op_MUL_4385 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4386 = SHIFTR0(DUP(Rtt), op_MUL_4385); + RzIlOpPure *op_AND_4387 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4386, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4388 = CAST(8, IL_FALSE, op_AND_4387); + RzIlOpPure *op_SUB_4389 = SUB(cast_ut8_4384, cast_ut8_4388); + RzIlOpPure *op_NEG_4390 = NEG(op_SUB_4389); + RzIlOpPure *op_MUL_4391 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4392 = SHIFTR0(DUP(Rss), op_MUL_4391); + RzIlOpPure *op_AND_4393 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4392, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4394 = CAST(8, IL_FALSE, op_AND_4393); + RzIlOpPure *op_MUL_4395 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4396 = SHIFTR0(DUP(Rtt), op_MUL_4395); + RzIlOpPure *op_AND_4397 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4396, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4398 = CAST(8, IL_FALSE, op_AND_4397); + RzIlOpPure *op_SUB_4399 = SUB(cast_ut8_4394, cast_ut8_4398); + RzIlOpPure *cond_4400 = ITE(op_LT, op_NEG_4390, op_SUB_4399); + RzIlOpPure *op_ADD_4401 = ADD(cast_st64_4371, cond_4400); + RzIlOpPure *op_AND_4402 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_ADD_4401, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4403 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4404 = SHIFTL0(op_AND_4402, op_MUL_4403); + RzIlOpPure *op_OR_4405 = LOGOR(op_AND_4366, op_LSHIFT_4404); + + // WRITE + RzIlOpEffect *empty_4312 = EMPTY(); + RzIlOpEffect *op_ASSIGN_4313 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_4314 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_4358 = SETG(Rxx_assoc, op_OR_4357); + RzIlOpEffect *empty_4359 = EMPTY(); + RzIlOpEffect *for_4360 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rxx_assoc, op_OR_4357), EMPTY(), SETL("i", INC(VARL("i")))))); + RzIlOpEffect *op_ASSIGN_4361 = SETL("i", const_pos4); + RzIlOpEffect *op_INC_4362 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_4406 = SETG(Rxx_assoc, op_OR_4405); + RzIlOpEffect *empty_4407 = EMPTY(); + RzIlOpEffect *for_4408 = SEQ2(SETL("i", const_pos4), + REPEAT(op_LT, + SEQN(SETG(Rxx_assoc, op_OR_4405), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_4312, for_4360, for_4408); +} + +RzILOpEffect *hex_il_op_a2_vsubh(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_4412 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_4413 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_4412)); + RzIlOpPure *op_NOT_4414 = LOGNOT(op_LSHIFT_4413); + RzIlOpPure *op_AND_4415 = LOGAND(Rdd, op_NOT_4414); + RzIlOpPure *op_MUL_4416 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4417 = SHIFTR0(Rtt, op_MUL_4416); + RzIlOpPure *op_AND_4418 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4417, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_4419 = CAST(32, IL_FALSE, op_AND_4418); + RzIlOpPure *op_MUL_4420 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4421 = SHIFTR0(Rss, op_MUL_4420); + RzIlOpPure *op_AND_4422 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4421, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_4423 = CAST(16, MSB(op_AND_4422), op_AND_4422); + RzIlOpPure *op_SUB_4424 = SUB(cast_st16_4419, cast_st16_4423); + RzIlOpPure *op_AND_4425 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(op_SUB_4424, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_4426 = CAST(64, IL_FALSE, op_AND_4425); + RzIlOpPure *op_MUL_4427 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_4428 = SHIFTL0(cast_ut64_4426, op_MUL_4427); + RzIlOpPure *op_OR_4429 = LOGOR(op_AND_4415, op_LSHIFT_4428); + + // WRITE + RzIlOpEffect *empty_4409 = EMPTY(); + RzIlOpEffect *op_ASSIGN_4410 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_4411 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_4430 = SETG(Rdd_assoc, op_OR_4429); + RzIlOpEffect *empty_4431 = EMPTY(); + RzIlOpEffect *for_4432 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_4429), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_4409, for_4432); +} + +RzILOpEffect *hex_il_op_a2_vsubhs(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_4436 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_4437 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_4436)); + RzIlOpPure *op_NOT_4438 = LOGNOT(op_LSHIFT_4437); + RzIlOpPure *op_AND_4439 = LOGAND(Rdd, op_NOT_4438); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_4440 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4441 = SHIFTR0(Rtt, op_MUL_4440); + RzIlOpPure *op_AND_4442 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4441, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_4443 = CAST(16, MSB(op_AND_4442), op_AND_4442); + RzIlOpPure *op_MUL_4444 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4445 = SHIFTR0(Rss, op_MUL_4444); + RzIlOpPure *op_AND_4446 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4445, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_4447 = CAST(16, MSB(op_AND_4446), op_AND_4446); + RzIlOpPure *op_SUB_4448 = SUB(cast_st16_4443, cast_st16_4447); + RzIlOpPure *c_call_4449 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(op_SUB_4448, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_4450 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4449, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_4451 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4452 = SHIFTR0(DUP(Rtt), op_MUL_4451); + RzIlOpPure *op_AND_4453 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4452, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_4454 = CAST(16, MSB(op_AND_4453), op_AND_4453); + RzIlOpPure *op_MUL_4455 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4456 = SHIFTR0(DUP(Rss), op_MUL_4455); + RzIlOpPure *op_AND_4457 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4456, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_4458 = CAST(16, MSB(op_AND_4457), op_AND_4457); + RzIlOpPure *op_SUB_4459 = SUB(cast_st16_4454, cast_st16_4458); + RzIlOpPure *op_EQ = EQ(cond_4450, op_SUB_4459); + RzIlOpPure *op_MUL_4460 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4461 = SHIFTR0(DUP(Rtt), op_MUL_4460); + RzIlOpPure *op_AND_4462 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4461, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_4463 = CAST(32, IL_FALSE, op_AND_4462); + RzIlOpPure *op_MUL_4464 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4465 = SHIFTR0(DUP(Rss), op_MUL_4464); + RzIlOpPure *op_AND_4466 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4465, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_4467 = CAST(16, MSB(op_AND_4466), op_AND_4466); + RzIlOpPure *op_SUB_4468 = SUB(cast_st16_4463, cast_st16_4467); + RzIlOpPure *c_call_4469 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_4470 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_4471 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_4472 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_4470, c_call_4471, VARLP("const_pos1"))); + RzIlOpPure *cond_4473 = ITE(c_call_4469, c_call_4472, usr); + RzIlOpPure *op_MUL_4475 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4476 = SHIFTR0(DUP(Rtt), op_MUL_4475); + RzIlOpPure *op_AND_4477 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4476, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_4478 = CAST(32, IL_FALSE, op_AND_4477); + RzIlOpPure *op_MUL_4479 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4480 = SHIFTR0(DUP(Rss), op_MUL_4479); + RzIlOpPure *op_AND_4481 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4480, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_4482 = CAST(16, MSB(op_AND_4481), op_AND_4481); + RzIlOpPure *op_SUB_4483 = SUB(cast_st16_4478, cast_st16_4482); + RzIlOpPure *op_SUB_4484 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_4485 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_4484)); + RzIlOpPure *op_NEG_4486 = NEG(op_LSHIFT_4485); + RzIlOpPure *op_SUB_4487 = LET("const_pos16", const_pos16, LET("const_pos1", const_pos1, SUB(VARLP("const_pos16"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_4488 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_4487)); + RzIlOpPure *op_SUB_4489 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_4488, VARLP("const_pos1"))); + RzIlOpPure *cond_4490 = ITE(op_LT, op_NEG_4486, op_SUB_4489); + RzIlOpPure *cond_4491 = ITE(op_EQ, op_SUB_4468, cond_4490); + RzIlOpPure *op_AND_4492 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_4491, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_4493 = CAST(64, IL_FALSE, op_AND_4492); + RzIlOpPure *op_MUL_4494 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_4495 = SHIFTL0(cast_ut64_4493, op_MUL_4494); + RzIlOpPure *op_OR_4496 = LOGOR(op_AND_4439, op_LSHIFT_4495); + + // WRITE + RzIlOpEffect *empty_4433 = EMPTY(); + RzIlOpEffect *op_ASSIGN_4434 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_4435 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_4474 = SETG(usr_assoc, cond_4473); + RzIlOpEffect *op_ASSIGN_4497 = SETG(Rdd_assoc, op_OR_4496); + RzIlOpEffect *empty_4498 = EMPTY(); + RzIlOpEffect *for_4499 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_4496), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_4433, for_4499); +} + +RzILOpEffect *hex_il_op_a2_vsubub(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffLL = UN(64, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_MUL_4503 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_4504 = LET("const_pos0x0ffLL", const_pos0x0ffLL, SHIFTL0(VARLP("const_pos0x0ffLL"), op_MUL_4503)); + RzIlOpPure *op_NOT_4505 = LOGNOT(op_LSHIFT_4504); + RzIlOpPure *op_AND_4506 = LOGAND(Rdd, op_NOT_4505); + RzIlOpPure *op_MUL_4507 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4508 = SHIFTR0(Rtt, op_MUL_4507); + RzIlOpPure *op_AND_4509 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4508, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4510 = CAST(64, IL_FALSE, op_AND_4509); + RzIlOpPure *op_MUL_4511 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4512 = SHIFTR0(Rss, op_MUL_4511); + RzIlOpPure *op_AND_4513 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4512, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4514 = CAST(8, IL_FALSE, op_AND_4513); + RzIlOpPure *op_SUB_4515 = SUB(cast_ut8_4510, cast_ut8_4514); + RzIlOpPure *op_AND_4516 = LET("const_pos0x0ffLL", const_pos0x0ffLL, LOGAND(op_SUB_4515, VARLP("const_pos0x0ffLL"))); + RzIlOpPure *cast_ut64_4517 = CAST(64, IL_FALSE, op_AND_4516); + RzIlOpPure *op_MUL_4518 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_4519 = SHIFTL0(cast_ut64_4517, op_MUL_4518); + RzIlOpPure *op_OR_4520 = LOGOR(op_AND_4506, op_LSHIFT_4519); + + // WRITE + RzIlOpEffect *empty_4500 = EMPTY(); + RzIlOpEffect *op_ASSIGN_4501 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_4502 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_4521 = SETG(Rdd_assoc, op_OR_4520); + RzIlOpEffect *empty_4522 = EMPTY(); + RzIlOpEffect *for_4523 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_4520), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_4500, for_4523); +} + +RzILOpEffect *hex_il_op_a2_vsububs(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffLL = UN(64, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = UN(32, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_MUL_4527 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_4528 = LET("const_pos0x0ffLL", const_pos0x0ffLL, SHIFTL0(VARLP("const_pos0x0ffLL"), op_MUL_4527)); + RzIlOpPure *op_NOT_4529 = LOGNOT(op_LSHIFT_4528); + RzIlOpPure *op_AND_4530 = LOGAND(Rdd, op_NOT_4529); + RzIlOpPure *op_NE = LET("const_pos8", const_pos8, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos8"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_4531 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4532 = SHIFTR0(Rtt, op_MUL_4531); + RzIlOpPure *op_AND_4533 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4532, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4534 = CAST(8, IL_FALSE, op_AND_4533); + RzIlOpPure *op_MUL_4535 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4536 = SHIFTR0(Rss, op_MUL_4535); + RzIlOpPure *op_AND_4537 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4536, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4538 = CAST(8, IL_FALSE, op_AND_4537); + RzIlOpPure *op_SUB_4539 = SUB(cast_ut8_4534, cast_ut8_4538); + RzIlOpPure *c_call_4540 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, HEX_EXTRACT64(op_SUB_4539, VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *cond_4541 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4540, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_4542 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4543 = SHIFTR0(DUP(Rtt), op_MUL_4542); + RzIlOpPure *op_AND_4544 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4543, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4545 = CAST(8, IL_FALSE, op_AND_4544); + RzIlOpPure *op_MUL_4546 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4547 = SHIFTR0(DUP(Rss), op_MUL_4546); + RzIlOpPure *op_AND_4548 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4547, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4549 = CAST(8, IL_FALSE, op_AND_4548); + RzIlOpPure *op_SUB_4550 = SUB(cast_ut8_4545, cast_ut8_4549); + RzIlOpPure *op_EQ = EQ(cond_4541, op_SUB_4550); + RzIlOpPure *op_MUL_4551 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4552 = SHIFTR0(DUP(Rtt), op_MUL_4551); + RzIlOpPure *op_AND_4553 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4552, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4554 = CAST(64, IL_FALSE, op_AND_4553); + RzIlOpPure *op_MUL_4555 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4556 = SHIFTR0(DUP(Rss), op_MUL_4555); + RzIlOpPure *op_AND_4557 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4556, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4558 = CAST(8, IL_FALSE, op_AND_4557); + RzIlOpPure *op_SUB_4559 = SUB(cast_ut8_4554, cast_ut8_4558); + RzIlOpPure *c_call_4560 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_4561 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_4562 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_4563 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_4561, c_call_4562, VARLP("const_pos1"))); + RzIlOpPure *cond_4564 = ITE(c_call_4560, c_call_4563, usr); + RzIlOpPure *op_MUL_4566 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4567 = SHIFTR0(DUP(Rtt), op_MUL_4566); + RzIlOpPure *op_AND_4568 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4567, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4569 = CAST(32, IL_FALSE, op_AND_4568); + RzIlOpPure *op_MUL_4570 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_4571 = SHIFTR0(DUP(Rss), op_MUL_4570); + RzIlOpPure *op_AND_4572 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4571, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4573 = CAST(8, IL_FALSE, op_AND_4572); + RzIlOpPure *op_SUB_4574 = SUB(cast_ut8_4569, cast_ut8_4573); + RzIlOpPure *op_LSHIFT_4575 = LET("const_pos1LL", const_pos1LL, LET("const_pos8", const_pos8, SHIFTL0(VARLP("const_pos1LL"), VARLP("const_pos8")))); + RzIlOpPure *op_SUB_4576 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_4575, VARLP("const_pos1"))); + RzIlOpPure *cond_4577 = LET("const_pos0", const_pos0, ITE(op_LT, VARLP("const_pos0"), op_SUB_4576)); + RzIlOpPure *cond_4578 = ITE(op_EQ, op_SUB_4559, cond_4577); + RzIlOpPure *op_AND_4579 = LET("const_pos0x0ffLL", const_pos0x0ffLL, LOGAND(cond_4578, VARLP("const_pos0x0ffLL"))); + RzIlOpPure *cast_ut64_4580 = CAST(64, IL_FALSE, op_AND_4579); + RzIlOpPure *op_MUL_4581 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_4582 = SHIFTL0(cast_ut64_4580, op_MUL_4581); + RzIlOpPure *op_OR_4583 = LOGOR(op_AND_4530, op_LSHIFT_4582); + + // WRITE + RzIlOpEffect *empty_4524 = EMPTY(); + RzIlOpEffect *op_ASSIGN_4525 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_4526 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_4565 = SETG(usr_assoc, cond_4564); + RzIlOpEffect *op_ASSIGN_4584 = SETG(Rdd_assoc, op_OR_4583); + RzIlOpEffect *empty_4585 = EMPTY(); + RzIlOpEffect *for_4586 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_4583), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_4524, for_4586); +} + +RzILOpEffect *hex_il_op_a2_vsubuhs(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffLL = UN(64, 65535); + RzILOpPure *const_pos16 = UN(32, 16); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = UN(32, 1); + RzILOpPure *const_pos0x0ffff = UN(32, 65535); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_4590 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_4591 = LET("const_pos0x0ffffLL", const_pos0x0ffffLL, SHIFTL0(VARLP("const_pos0x0ffffLL"), op_MUL_4590)); + RzIlOpPure *op_NOT_4592 = LOGNOT(op_LSHIFT_4591); + RzIlOpPure *op_AND_4593 = LOGAND(Rdd, op_NOT_4592); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_4594 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4595 = SHIFTR0(Rtt, op_MUL_4594); + RzIlOpPure *op_AND_4596 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4595, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_4597 = CAST(16, IL_FALSE, op_AND_4596); + RzIlOpPure *op_MUL_4598 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4599 = SHIFTR0(Rss, op_MUL_4598); + RzIlOpPure *op_AND_4600 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4599, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_4601 = CAST(16, IL_FALSE, op_AND_4600); + RzIlOpPure *op_SUB_4602 = SUB(cast_ut16_4597, cast_ut16_4601); + RzIlOpPure *c_call_4603 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_EXTRACT64(op_SUB_4602, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_4604 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4603, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_4605 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4606 = SHIFTR0(DUP(Rtt), op_MUL_4605); + RzIlOpPure *op_AND_4607 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4606, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_4608 = CAST(16, IL_FALSE, op_AND_4607); + RzIlOpPure *op_MUL_4609 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4610 = SHIFTR0(DUP(Rss), op_MUL_4609); + RzIlOpPure *op_AND_4611 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4610, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_4612 = CAST(16, IL_FALSE, op_AND_4611); + RzIlOpPure *op_SUB_4613 = SUB(cast_ut16_4608, cast_ut16_4612); + RzIlOpPure *op_EQ = EQ(cond_4604, op_SUB_4613); + RzIlOpPure *op_MUL_4614 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4615 = SHIFTR0(DUP(Rtt), op_MUL_4614); + RzIlOpPure *op_AND_4616 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4615, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_4617 = CAST(32, IL_FALSE, op_AND_4616); + RzIlOpPure *op_MUL_4618 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4619 = SHIFTR0(DUP(Rss), op_MUL_4618); + RzIlOpPure *op_AND_4620 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4619, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_4621 = CAST(16, IL_FALSE, op_AND_4620); + RzIlOpPure *op_SUB_4622 = SUB(cast_ut16_4617, cast_ut16_4621); + RzIlOpPure *c_call_4623 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_4624 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_4625 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_4626 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_4624, c_call_4625, VARLP("const_pos1"))); + RzIlOpPure *cond_4627 = ITE(c_call_4623, c_call_4626, usr); + RzIlOpPure *op_MUL_4629 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4630 = SHIFTR0(DUP(Rtt), op_MUL_4629); + RzIlOpPure *op_AND_4631 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4630, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_4632 = CAST(32, IL_FALSE, op_AND_4631); + RzIlOpPure *op_MUL_4633 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_4634 = SHIFTR0(DUP(Rss), op_MUL_4633); + RzIlOpPure *op_AND_4635 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4634, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_4636 = CAST(16, IL_FALSE, op_AND_4635); + RzIlOpPure *op_SUB_4637 = SUB(cast_ut16_4632, cast_ut16_4636); + RzIlOpPure *op_LSHIFT_4638 = LET("const_pos1LL", const_pos1LL, LET("const_pos16", const_pos16, SHIFTL0(VARLP("const_pos1LL"), VARLP("const_pos16")))); + RzIlOpPure *op_SUB_4639 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_4638, VARLP("const_pos1"))); + RzIlOpPure *cond_4640 = LET("const_pos0", const_pos0, ITE(op_LT, VARLP("const_pos0"), op_SUB_4639)); + RzIlOpPure *cond_4641 = ITE(op_EQ, op_SUB_4622, cond_4640); + RzIlOpPure *op_AND_4642 = LET("const_pos0x0ffff", const_pos0x0ffff, LOGAND(cond_4641, VARLP("const_pos0x0ffff"))); + RzIlOpPure *cast_ut64_4643 = CAST(64, IL_FALSE, op_AND_4642); + RzIlOpPure *op_MUL_4644 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_LSHIFT_4645 = SHIFTL0(cast_ut64_4643, op_MUL_4644); + RzIlOpPure *op_OR_4646 = LOGOR(op_AND_4593, op_LSHIFT_4645); + + // WRITE + RzIlOpEffect *empty_4587 = EMPTY(); + RzIlOpEffect *op_ASSIGN_4588 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_4589 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_4628 = SETG(usr_assoc, cond_4627); + RzIlOpEffect *op_ASSIGN_4647 = SETG(Rdd_assoc, op_OR_4646); + RzIlOpEffect *empty_4648 = EMPTY(); + RzIlOpEffect *for_4649 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_4646), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_4587, for_4649); +} + +RzILOpEffect *hex_il_op_a2_vsubw(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_4653 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_4654 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4653)); + RzIlOpPure *op_NOT_4655 = LOGNOT(op_LSHIFT_4654); + RzIlOpPure *op_AND_4656 = LOGAND(Rdd, op_NOT_4655); + RzIlOpPure *op_MUL_4657 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4658 = SHIFTR0(Rtt, op_MUL_4657); + RzIlOpPure *op_AND_4659 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4658, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4660 = CAST(32, MSB(op_AND_4659), op_AND_4659); + RzIlOpPure *cast_st64_4661 = CAST(64, IL_FALSE, cast_st32_4660); + RzIlOpPure *op_MUL_4662 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4663 = SHIFTR0(Rss, op_MUL_4662); + RzIlOpPure *op_AND_4664 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4663, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4665 = CAST(32, MSB(op_AND_4664), op_AND_4664); + RzIlOpPure *cast_st64_4666 = CAST(64, MSB(cast_st32_4665), cast_st32_4665); + RzIlOpPure *op_SUB_4667 = SUB(cast_st64_4661, cast_st64_4666); + RzIlOpPure *op_AND_4668 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_SUB_4667, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4669 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_4670 = SHIFTL0(op_AND_4668, op_MUL_4669); + RzIlOpPure *op_OR_4671 = LOGOR(op_AND_4656, op_LSHIFT_4670); + + // WRITE + RzIlOpEffect *empty_4650 = EMPTY(); + RzIlOpEffect *op_ASSIGN_4651 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_4652 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_4672 = SETG(Rdd_assoc, op_OR_4671); + RzIlOpEffect *empty_4673 = EMPTY(); + RzIlOpEffect *for_4674 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_4671), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_4650, for_4674); +} + +RzILOpEffect *hex_il_op_a2_vsubws(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_4678 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_4679 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4678)); + RzIlOpPure *op_NOT_4680 = LOGNOT(op_LSHIFT_4679); + RzIlOpPure *op_AND_4681 = LOGAND(Rdd, op_NOT_4680); + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *op_MUL_4682 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4683 = SHIFTR0(Rtt, op_MUL_4682); + RzIlOpPure *op_AND_4684 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4683, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4685 = CAST(32, MSB(op_AND_4684), op_AND_4684); + RzIlOpPure *cast_st64_4686 = CAST(64, MSB(cast_st32_4685), cast_st32_4685); + RzIlOpPure *op_MUL_4687 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4688 = SHIFTR0(Rss, op_MUL_4687); + RzIlOpPure *op_AND_4689 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4688, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4690 = CAST(32, MSB(op_AND_4689), op_AND_4689); + RzIlOpPure *cast_st64_4691 = CAST(64, MSB(cast_st32_4690), cast_st32_4690); + RzIlOpPure *op_SUB_4692 = SUB(cast_st64_4686, cast_st64_4691); + RzIlOpPure *c_call_4693 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(op_SUB_4692, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_4694 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4693, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_4695 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4696 = SHIFTR0(DUP(Rtt), op_MUL_4695); + RzIlOpPure *op_AND_4697 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4696, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4698 = CAST(32, MSB(op_AND_4697), op_AND_4697); + RzIlOpPure *cast_st64_4699 = CAST(64, MSB(cast_st32_4698), cast_st32_4698); + RzIlOpPure *op_MUL_4700 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4701 = SHIFTR0(DUP(Rss), op_MUL_4700); + RzIlOpPure *op_AND_4702 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4701, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4703 = CAST(32, MSB(op_AND_4702), op_AND_4702); + RzIlOpPure *cast_st64_4704 = CAST(64, MSB(cast_st32_4703), cast_st32_4703); + RzIlOpPure *op_SUB_4705 = SUB(cast_st64_4699, cast_st64_4704); + RzIlOpPure *op_EQ = EQ(cond_4694, op_SUB_4705); + RzIlOpPure *op_MUL_4706 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4707 = SHIFTR0(DUP(Rtt), op_MUL_4706); + RzIlOpPure *op_AND_4708 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4707, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4709 = CAST(32, MSB(op_AND_4708), op_AND_4708); + RzIlOpPure *cast_st64_4710 = CAST(64, IL_FALSE, cast_st32_4709); + RzIlOpPure *op_MUL_4711 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4712 = SHIFTR0(DUP(Rss), op_MUL_4711); + RzIlOpPure *op_AND_4713 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4712, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4714 = CAST(32, MSB(op_AND_4713), op_AND_4713); + RzIlOpPure *cast_st64_4715 = CAST(64, MSB(cast_st32_4714), cast_st32_4714); + RzIlOpPure *op_SUB_4716 = SUB(cast_st64_4710, cast_st64_4715); + RzIlOpPure *c_call_4717 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_4718 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_4719 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_4720 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_4718, c_call_4719, VARLP("const_pos1"))); + RzIlOpPure *cond_4721 = ITE(c_call_4717, c_call_4720, usr); + RzIlOpPure *op_MUL_4723 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4724 = SHIFTR0(DUP(Rtt), op_MUL_4723); + RzIlOpPure *op_AND_4725 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4724, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4726 = CAST(32, MSB(op_AND_4725), op_AND_4725); + RzIlOpPure *cast_st64_4727 = CAST(32, IL_FALSE, cast_st32_4726); + RzIlOpPure *op_MUL_4728 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_4729 = SHIFTR0(DUP(Rss), op_MUL_4728); + RzIlOpPure *op_AND_4730 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4729, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_4731 = CAST(32, MSB(op_AND_4730), op_AND_4730); + RzIlOpPure *cast_st64_4732 = CAST(64, MSB(cast_st32_4731), cast_st32_4731); + RzIlOpPure *op_SUB_4733 = SUB(cast_st64_4727, cast_st64_4732); + RzIlOpPure *op_SUB_4734 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_4735 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_4734)); + RzIlOpPure *op_NEG_4736 = NEG(op_LSHIFT_4735); + RzIlOpPure *op_SUB_4737 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_4738 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_4737)); + RzIlOpPure *op_SUB_4739 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_4738, VARLP("const_pos1"))); + RzIlOpPure *cond_4740 = ITE(op_LT, op_NEG_4736, op_SUB_4739); + RzIlOpPure *cond_4741 = ITE(op_EQ, op_SUB_4716, cond_4740); + RzIlOpPure *op_AND_4742 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(cond_4741, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4743 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_LSHIFT_4744 = SHIFTL0(op_AND_4742, op_MUL_4743); + RzIlOpPure *op_OR_4745 = LOGOR(op_AND_4681, op_LSHIFT_4744); + + // WRITE + RzIlOpEffect *empty_4675 = EMPTY(); + RzIlOpEffect *op_ASSIGN_4676 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_4677 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_4722 = SETG(usr_assoc, cond_4721); + RzIlOpEffect *op_ASSIGN_4746 = SETG(Rdd_assoc, op_OR_4745); + RzIlOpEffect *empty_4747 = EMPTY(); + RzIlOpEffect *for_4748 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Rdd_assoc, op_OR_4745), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_4675, for_4748); +} + +RzILOpEffect *hex_il_op_a2_xor(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_XOR_4749 = LOGXOR(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_4750 = SETG(Rd_assoc, op_XOR_4749); + + return SEQN(op_ASSIGN_4750); +} + +RzILOpEffect *hex_il_op_a2_xorp(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + + // EXEC + RzIlOpPure *op_XOR_4751 = LOGXOR(Rss, Rtt); + + // WRITE + RzIlOpEffect *op_ASSIGN_4752 = SETG(Rdd_assoc, op_XOR_4751); + + return SEQN(op_ASSIGN_4752); +} + +RzILOpEffect *hex_il_op_a2_zxth(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_4753 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_EXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_4754 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4753, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_4755 = SETG(Rd_assoc, cond_4754); + + return SEQN(op_ASSIGN_4755); +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_A4_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_A4_ops.c new file mode 100644 index 00000000..56a91752 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_A4_ops.c @@ -0,0 +1,2771 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_a4_addp_c(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a4_andn(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + const char *Px_assoc = ISA2REG(hi, "Px", false); + RzIlOpPure *Px = VARG(Px_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_ADD_4756 = ADD(Rss, Rtt); + RzIlOpPure *op_AND_4757 = LET("const_pos1", const_pos1, LOGAND(Px, VARLP("const_pos1"))); + RzIlOpPure *op_ADD_4758 = ADD(op_ADD_4756, op_AND_4757); + RzIlOpPure *op_AND_4760 = LET("const_pos1", const_pos1, LOGAND(DUP(Px), VARLP("const_pos1"))); + RzIlOpPure *op_NOT_4761 = LOGNOT(Rs); + RzIlOpPure *op_AND_4762 = LOGAND(Rt, op_NOT_4761); + + // WRITE + RzIlOpEffect *op_ASSIGN_4759 = SETG(Rdd_assoc, op_ADD_4758); + RzIlOpEffect *op_ASSIGN_4763 = SETG(Rd_assoc, op_AND_4762); + + return SEQN(op_ASSIGN_4763); +} + +RzILOpEffect *hex_il_op_a4_andnp(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_NOT_4764 = LOGNOT(Rss); + RzIlOpPure *op_AND_4765 = LOGAND(Rtt, op_NOT_4764); + + // WRITE + RzIlOpEffect *op_ASSIGN_4766 = SETG(Rdd_assoc, op_AND_4765); + + return SEQN(op_ASSIGN_4766); +} + +RzILOpEffect *hex_il_op_a4_bitsplit(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a4_bitspliti(void *hi) { + // READ + RzILOpPure *const_pos5 = UN(32, 5); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + // Declare: ut4 shamt; + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *u = UN((ut32)ISA2IMM(hi, "u")) + + // EXEC + RzIlOpPure *op_NE = LET("const_pos5", const_pos5, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos5"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_4767 = LET("const_pos0", const_pos0, LET("const_pos5", const_pos5, HEX_EXTRACT64(Rt, VARLP("const_pos0"), VARLP("const_pos5")))); + RzIlOpPure *cond_4768 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4767, VARLP("const_pos0LL"))); + RzIlOpPure *op_MUL_4770 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4771 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4770)); + RzIlOpPure *op_NOT_4772 = LOGNOT(op_LSHIFT_4771); + RzIlOpPure *op_AND_4773 = LOGAND(Rdd, op_NOT_4772); + RzIlOpPure *cast_ut32_4774 = CAST(64, IL_FALSE, Rs); + RzIlOpPure *op_RSHIFT_4775 = SHIFTR0(cast_ut32_4774, VARL("u")); + RzIlOpPure *op_AND_4776 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4775, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4777 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4778 = SHIFTL0(op_AND_4776, op_MUL_4777); + RzIlOpPure *op_OR_4779 = LOGOR(op_AND_4773, op_LSHIFT_4778); + RzIlOpPure *op_MUL_4782 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4783 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4782)); + RzIlOpPure *op_NOT_4784 = LOGNOT(op_LSHIFT_4783); + RzIlOpPure *op_AND_4785 = LOGAND(DUP(Rdd), op_NOT_4784); + RzIlOpPure *c_call_4786 = LET("const_pos0", const_pos0, HEX_EXTRACT64(DUP(Rs), VARLP("const_pos0"), VARL("u"))); + RzIlOpPure *cond_4787 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4786, VARLP("const_pos0LL"))); + RzIlOpPure *op_AND_4788 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(cond_4787, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4789 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4790 = SHIFTL0(op_AND_4788, op_MUL_4789); + RzIlOpPure *op_OR_4791 = LOGOR(op_AND_4785, op_LSHIFT_4790); + + // WRITE + RzIlOpEffect *op_ASSIGN_4769 = SETL("shamt", cond_4768); + RzIlOpEffect *op_ASSIGN_4780 = SETG(Rdd_assoc, op_OR_4779); + RzIlOpEffect *empty_4781 = EMPTY(); + RzIlOpEffect *op_ASSIGN_4792 = SETG(Rdd_assoc, op_OR_4791); + RzIlOpEffect *empty_4793 = EMPTY(); + + return SEQN(op_ASSIGN_4780, empty_4781, op_ASSIGN_4792, empty_4793); +} + +RzILOpEffect *hex_il_op_a4_boundscheck_hi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a4_boundscheck_lo(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a4_cmpbeq(void *hi) { + // READ + // Declare: ut4 src; + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0x00 = UN(32, 0); + + // EXEC + RzIlOpPure *op_MUL_4794 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_4795 = SHIFTR0(Rss, op_MUL_4794); + RzIlOpPure *op_AND_4796 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4795, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_4797 = CAST(32, IL_FALSE, op_AND_4796); + RzIlOpPure *cast_ut64_4798 = CAST(64, IL_FALSE, cast_ut32_4797); + RzIlOpPure *cast_ut32_4800 = CAST(64, IL_FALSE, VARL("src")); + RzIlOpPure *op_MUL_4801 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_4802 = SHIFTR0(Rtt, op_MUL_4801); + RzIlOpPure *op_AND_4803 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4802, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_4804 = CAST(32, IL_FALSE, op_AND_4803); + RzIlOpPure *cast_ut64_4805 = CAST(64, IL_FALSE, cast_ut32_4804); + RzIlOpPure *op_GE = UGE(cast_ut32_4800, cast_ut64_4805); + RzIlOpPure *cast_ut32_4806 = CAST(64, IL_FALSE, VARL("src")); + RzIlOpPure *op_MUL_4807 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_4808 = SHIFTR0(DUP(Rtt), op_MUL_4807); + RzIlOpPure *op_AND_4809 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4808, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_4810 = CAST(32, IL_FALSE, op_AND_4809); + RzIlOpPure *cast_ut64_4811 = CAST(64, IL_FALSE, cast_ut32_4810); + RzIlOpPure *op_LT = ULT(cast_ut32_4806, cast_ut64_4811); + RzIlOpPure *op_MUL_4812 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_4813 = SHIFTR0(DUP(Rss), op_MUL_4812); + RzIlOpPure *op_AND_4814 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4813, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_4815 = CAST(32, IL_FALSE, op_AND_4814); + RzIlOpPure *cast_ut64_4816 = CAST(64, IL_FALSE, cast_ut32_4815); + RzIlOpPure *cast_ut32_4818 = CAST(64, IL_FALSE, VARL("src")); + RzIlOpPure *op_MUL_4819 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_4820 = SHIFTR0(DUP(Rtt), op_MUL_4819); + RzIlOpPure *op_AND_4821 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4820, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_4822 = CAST(32, IL_FALSE, op_AND_4821); + RzIlOpPure *cast_ut64_4823 = CAST(64, IL_FALSE, cast_ut32_4822); + RzIlOpPure *cast_ut32_4824 = CAST(64, IL_FALSE, VARL("src")); + RzIlOpPure *op_MUL_4825 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_4826 = SHIFTR0(DUP(Rtt), op_MUL_4825); + RzIlOpPure *op_AND_4827 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_4826, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_4828 = CAST(32, IL_FALSE, op_AND_4827); + RzIlOpPure *cast_ut64_4829 = CAST(64, IL_FALSE, cast_ut32_4828); + RzIlOpPure *op_MUL_4830 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, MUL(VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *op_RSHIFT_4831 = SHIFTR0(Rs, op_MUL_4830); + RzIlOpPure *op_AND_4832 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4831, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_4833 = CAST(8, MSB(op_AND_4832), op_AND_4832); + RzIlOpPure *op_MUL_4834 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, MUL(VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *op_RSHIFT_4835 = SHIFTR0(Rt, op_MUL_4834); + RzIlOpPure *op_AND_4836 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4835, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_4837 = CAST(8, MSB(op_AND_4836), op_AND_4836); + RzIlOpPure *op_EQ = EQ(cast_st8_4833, cast_st8_4837); + RzIlOpPure *cond_4838 = LET("const_pos0xff", const_pos0xff, LET("const_pos0x00", const_pos0x00, ITE(op_EQ, VARLP("const_pos0xff"), VARLP("const_pos0x00")))); + + // WRITE + RzIlOpEffect *op_ASSIGN_4799 = SETL("src", cast_ut64_4798); + RzIlOpEffect *op_ASSIGN_4817 = SETL("src", cast_ut64_4816); + RzIlOpEffect *op_ASSIGN_4839 = SETG(Pd_assoc, cond_4838); + + return SEQN(op_ASSIGN_4839); +} + +RzILOpEffect *hex_il_op_a4_cmpbeqi(void *hi) { + // READ + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0xff = UN(32, 255); + RzILOpPure *u = UN((ut32)ISA2IMM(hi, "u")) + RzILOpPure *const_pos0x00 = UN(32, 0); + + // EXEC + RzIlOpPure *op_MUL_4840 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, MUL(VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *op_RSHIFT_4841 = SHIFTR0(Rs, op_MUL_4840); + RzIlOpPure *op_AND_4842 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4841, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4843 = CAST(32, IL_FALSE, op_AND_4842); + RzIlOpPure *op_EQ = EQ(cast_ut8_4843, VARL("u")); + RzIlOpPure *cond_4844 = LET("const_pos0xff", const_pos0xff, LET("const_pos0x00", const_pos0x00, ITE(op_EQ, VARLP("const_pos0xff"), VARLP("const_pos0x00")))); + + // WRITE + RzIlOpEffect *op_ASSIGN_4845 = SETG(Pd_assoc, cond_4844); + + return SEQN(op_ASSIGN_4845); +} + +RzILOpEffect *hex_il_op_a4_cmpbgt(void *hi) { + // READ + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0x00 = UN(32, 0); + + // EXEC + RzIlOpPure *op_MUL_4846 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, MUL(VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *op_RSHIFT_4847 = SHIFTR0(Rs, op_MUL_4846); + RzIlOpPure *op_AND_4848 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4847, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_4849 = CAST(8, MSB(op_AND_4848), op_AND_4848); + RzIlOpPure *op_MUL_4850 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, MUL(VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *op_RSHIFT_4851 = SHIFTR0(Rt, op_MUL_4850); + RzIlOpPure *op_AND_4852 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4851, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_4853 = CAST(8, MSB(op_AND_4852), op_AND_4852); + RzIlOpPure *op_GT = SGT(cast_st8_4849, cast_st8_4853); + RzIlOpPure *cond_4854 = LET("const_pos0xff", const_pos0xff, LET("const_pos0x00", const_pos0x00, ITE(op_GT, VARLP("const_pos0xff"), VARLP("const_pos0x00")))); + + // WRITE + RzIlOpEffect *op_ASSIGN_4855 = SETG(Pd_assoc, cond_4854); + + return SEQN(op_ASSIGN_4855); +} + +RzILOpEffect *hex_il_op_a4_cmpbgti(void *hi) { + // READ + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0xff = UN(32, 255); + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + RzILOpPure *const_pos0x00 = UN(32, 0); + + // EXEC + RzIlOpPure *op_MUL_4856 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, MUL(VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *op_RSHIFT_4857 = SHIFTR0(Rs, op_MUL_4856); + RzIlOpPure *op_AND_4858 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4857, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_4859 = CAST(32, MSB(op_AND_4858), op_AND_4858); + RzIlOpPure *op_GT = SGT(cast_st8_4859, VARL("s")); + RzIlOpPure *cond_4860 = LET("const_pos0xff", const_pos0xff, LET("const_pos0x00", const_pos0x00, ITE(op_GT, VARLP("const_pos0xff"), VARLP("const_pos0x00")))); + + // WRITE + RzIlOpEffect *op_ASSIGN_4861 = SETG(Pd_assoc, cond_4860); + + return SEQN(op_ASSIGN_4861); +} + +RzILOpEffect *hex_il_op_a4_cmpbgtu(void *hi) { + // READ + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0x00 = UN(32, 0); + + // EXEC + RzIlOpPure *op_MUL_4862 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, MUL(VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *op_RSHIFT_4863 = SHIFTR0(Rs, op_MUL_4862); + RzIlOpPure *op_AND_4864 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4863, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4865 = CAST(8, IL_FALSE, op_AND_4864); + RzIlOpPure *op_MUL_4866 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, MUL(VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *op_RSHIFT_4867 = SHIFTR0(Rt, op_MUL_4866); + RzIlOpPure *op_AND_4868 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4867, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4869 = CAST(8, IL_FALSE, op_AND_4868); + RzIlOpPure *op_GT = UGT(cast_ut8_4865, cast_ut8_4869); + RzIlOpPure *cond_4870 = LET("const_pos0xff", const_pos0xff, LET("const_pos0x00", const_pos0x00, ITE(op_GT, VARLP("const_pos0xff"), VARLP("const_pos0x00")))); + + // WRITE + RzIlOpEffect *op_ASSIGN_4871 = SETG(Pd_assoc, cond_4870); + + return SEQN(op_ASSIGN_4871); +} + +RzILOpEffect *hex_il_op_a4_cmpbgtui(void *hi) { + // READ + RzILOpPure *u = UN((ut32)ISA2IMM(hi, "u")) + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0xff = UN(32, 255); + RzILOpPure *const_pos0x00 = UN(32, 0); + + // EXEC + RzIlOpPure *op_MUL_4872 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, MUL(VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *op_RSHIFT_4873 = SHIFTR0(Rs, op_MUL_4872); + RzIlOpPure *op_AND_4874 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_4873, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_4875 = CAST(32, IL_FALSE, op_AND_4874); + RzIlOpPure *cast_ut32_4876 = CAST(32, IL_FALSE, VARL("u")); + RzIlOpPure *op_GT = UGT(cast_ut8_4875, cast_ut32_4876); + RzIlOpPure *cond_4877 = LET("const_pos0xff", const_pos0xff, LET("const_pos0x00", const_pos0x00, ITE(op_GT, VARLP("const_pos0xff"), VARLP("const_pos0x00")))); + + // WRITE + RzIlOpEffect *op_ASSIGN_4878 = SETG(Pd_assoc, cond_4877); + + return SEQN(u, op_ASSIGN_4878); +} + +RzILOpEffect *hex_il_op_a4_cmpheq(void *hi) { + // READ + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + RzILOpPure *const_pos0x00 = UN(32, 0); + + // EXEC + RzIlOpPure *op_MUL_4879 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_4880 = SHIFTR0(Rs, op_MUL_4879); + RzIlOpPure *op_AND_4881 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4880, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_4882 = CAST(16, MSB(op_AND_4881), op_AND_4881); + RzIlOpPure *op_MUL_4883 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_4884 = SHIFTR0(Rt, op_MUL_4883); + RzIlOpPure *op_AND_4885 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4884, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_4886 = CAST(16, MSB(op_AND_4885), op_AND_4885); + RzIlOpPure *op_EQ = EQ(cast_st16_4882, cast_st16_4886); + RzIlOpPure *cond_4887 = LET("const_pos0xff", const_pos0xff, LET("const_pos0x00", const_pos0x00, ITE(op_EQ, VARLP("const_pos0xff"), VARLP("const_pos0x00")))); + + // WRITE + RzIlOpEffect *op_ASSIGN_4888 = SETG(Pd_assoc, cond_4887); + + return SEQN(op_ASSIGN_4888); +} + +RzILOpEffect *hex_il_op_a4_cmpheqi(void *hi) { + // READ + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + RzILOpPure *const_pos0xff = UN(32, 255); + RzILOpPure *const_pos0x00 = UN(32, 0); + + // EXEC + RzIlOpPure *op_MUL_4889 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_4890 = SHIFTR0(Rs, op_MUL_4889); + RzIlOpPure *op_AND_4891 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4890, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_4892 = CAST(32, MSB(op_AND_4891), op_AND_4891); + RzIlOpPure *op_EQ = EQ(cast_st16_4892, VARL("s")); + RzIlOpPure *cond_4893 = LET("const_pos0xff", const_pos0xff, LET("const_pos0x00", const_pos0x00, ITE(op_EQ, VARLP("const_pos0xff"), VARLP("const_pos0x00")))); + + // WRITE + RzIlOpEffect *op_ASSIGN_4894 = SETG(Pd_assoc, cond_4893); + + return SEQN(s, op_ASSIGN_4894); +} + +RzILOpEffect *hex_il_op_a4_cmphgt(void *hi) { + // READ + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + RzILOpPure *const_pos0x00 = UN(32, 0); + + // EXEC + RzIlOpPure *op_MUL_4895 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_4896 = SHIFTR0(Rs, op_MUL_4895); + RzIlOpPure *op_AND_4897 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4896, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_4898 = CAST(16, MSB(op_AND_4897), op_AND_4897); + RzIlOpPure *op_MUL_4899 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_4900 = SHIFTR0(Rt, op_MUL_4899); + RzIlOpPure *op_AND_4901 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4900, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_4902 = CAST(16, MSB(op_AND_4901), op_AND_4901); + RzIlOpPure *op_GT = SGT(cast_st16_4898, cast_st16_4902); + RzIlOpPure *cond_4903 = LET("const_pos0xff", const_pos0xff, LET("const_pos0x00", const_pos0x00, ITE(op_GT, VARLP("const_pos0xff"), VARLP("const_pos0x00")))); + + // WRITE + RzIlOpEffect *op_ASSIGN_4904 = SETG(Pd_assoc, cond_4903); + + return SEQN(op_ASSIGN_4904); +} + +RzILOpEffect *hex_il_op_a4_cmphgti(void *hi) { + // READ + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + RzILOpPure *const_pos0xff = UN(32, 255); + RzILOpPure *const_pos0x00 = UN(32, 0); + + // EXEC + RzIlOpPure *op_MUL_4905 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_4906 = SHIFTR0(Rs, op_MUL_4905); + RzIlOpPure *op_AND_4907 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4906, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_4908 = CAST(32, MSB(op_AND_4907), op_AND_4907); + RzIlOpPure *op_GT = SGT(cast_st16_4908, VARL("s")); + RzIlOpPure *cond_4909 = LET("const_pos0xff", const_pos0xff, LET("const_pos0x00", const_pos0x00, ITE(op_GT, VARLP("const_pos0xff"), VARLP("const_pos0x00")))); + + // WRITE + RzIlOpEffect *op_ASSIGN_4910 = SETG(Pd_assoc, cond_4909); + + return SEQN(s, op_ASSIGN_4910); +} + +RzILOpEffect *hex_il_op_a4_cmphgtu(void *hi) { + // READ + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + RzILOpPure *const_pos0x00 = UN(32, 0); + + // EXEC + RzIlOpPure *op_MUL_4911 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_4912 = SHIFTR0(Rs, op_MUL_4911); + RzIlOpPure *op_AND_4913 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4912, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_4914 = CAST(16, IL_FALSE, op_AND_4913); + RzIlOpPure *op_MUL_4915 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_4916 = SHIFTR0(Rt, op_MUL_4915); + RzIlOpPure *op_AND_4917 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4916, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_4918 = CAST(16, IL_FALSE, op_AND_4917); + RzIlOpPure *op_GT = UGT(cast_ut16_4914, cast_ut16_4918); + RzIlOpPure *cond_4919 = LET("const_pos0xff", const_pos0xff, LET("const_pos0x00", const_pos0x00, ITE(op_GT, VARLP("const_pos0xff"), VARLP("const_pos0x00")))); + + // WRITE + RzIlOpEffect *op_ASSIGN_4920 = SETG(Pd_assoc, cond_4919); + + return SEQN(op_ASSIGN_4920); +} + +RzILOpEffect *hex_il_op_a4_cmphgtui(void *hi) { + // READ + RzILOpPure *u = UN((ut32)ISA2IMM(hi, "u")) + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + RzILOpPure *const_pos0xff = UN(32, 255); + RzILOpPure *const_pos0x00 = UN(32, 0); + + // EXEC + RzIlOpPure *op_MUL_4921 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_4922 = SHIFTR0(Rs, op_MUL_4921); + RzIlOpPure *op_AND_4923 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_4922, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_4924 = CAST(32, IL_FALSE, op_AND_4923); + RzIlOpPure *cast_ut32_4925 = CAST(32, IL_FALSE, VARL("u")); + RzIlOpPure *op_GT = UGT(cast_ut16_4924, cast_ut32_4925); + RzIlOpPure *cond_4926 = LET("const_pos0xff", const_pos0xff, LET("const_pos0x00", const_pos0x00, ITE(op_GT, VARLP("const_pos0xff"), VARLP("const_pos0x00")))); + + // WRITE + RzIlOpEffect *op_ASSIGN_4927 = SETG(Pd_assoc, cond_4926); + + return SEQN(u, op_ASSIGN_4927); +} + +RzILOpEffect *hex_il_op_a4_combineii(void *hi) { + // READ + RzILOpPure *U = UN((ut32)ISA2IMM(hi, "U")) + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *s = UN((ut64)ISA2IMM(hi, "s")) + + // EXEC + RzIlOpPure *op_MUL_4928 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4929 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4928)); + RzIlOpPure *op_NOT_4930 = LOGNOT(op_LSHIFT_4929); + RzIlOpPure *op_AND_4931 = LOGAND(Rdd, op_NOT_4930); + RzIlOpPure *op_AND_4932 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("U"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4933 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4934 = SHIFTL0(op_AND_4932, op_MUL_4933); + RzIlOpPure *op_OR_4935 = LOGOR(op_AND_4931, op_LSHIFT_4934); + RzIlOpPure *op_MUL_4938 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4939 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4938)); + RzIlOpPure *op_NOT_4940 = LOGNOT(op_LSHIFT_4939); + RzIlOpPure *op_AND_4941 = LOGAND(DUP(Rdd), op_NOT_4940); + RzIlOpPure *op_AND_4942 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("s"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4943 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4944 = SHIFTL0(op_AND_4942, op_MUL_4943); + RzIlOpPure *op_OR_4945 = LOGOR(op_AND_4941, op_LSHIFT_4944); + + // WRITE + RzIlOpEffect *op_ASSIGN_4936 = SETG(Rdd_assoc, op_OR_4935); + RzIlOpEffect *empty_4937 = EMPTY(); + RzIlOpEffect *op_ASSIGN_4946 = SETG(Rdd_assoc, op_OR_4945); + RzIlOpEffect *empty_4947 = EMPTY(); + + return SEQN(U, op_ASSIGN_4936, empty_4937, op_ASSIGN_4946, empty_4947); +} + +RzILOpEffect *hex_il_op_a4_combineir(void *hi) { + // READ + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos32 = UN(32, 32); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_MUL_4948 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4949 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4948)); + RzIlOpPure *op_NOT_4950 = LOGNOT(op_LSHIFT_4949); + RzIlOpPure *op_AND_4951 = LOGAND(Rdd, op_NOT_4950); + RzIlOpPure *op_AND_4952 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(Rs, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4953 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4954 = SHIFTL0(op_AND_4952, op_MUL_4953); + RzIlOpPure *op_OR_4955 = LOGOR(op_AND_4951, op_LSHIFT_4954); + RzIlOpPure *op_MUL_4958 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4959 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4958)); + RzIlOpPure *op_NOT_4960 = LOGNOT(op_LSHIFT_4959); + RzIlOpPure *op_AND_4961 = LOGAND(DUP(Rdd), op_NOT_4960); + RzIlOpPure *op_AND_4962 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("s"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4963 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4964 = SHIFTL0(op_AND_4962, op_MUL_4963); + RzIlOpPure *op_OR_4965 = LOGOR(op_AND_4961, op_LSHIFT_4964); + + // WRITE + RzIlOpEffect *op_ASSIGN_4956 = SETG(Rdd_assoc, op_OR_4955); + RzIlOpEffect *empty_4957 = EMPTY(); + RzIlOpEffect *op_ASSIGN_4966 = SETG(Rdd_assoc, op_OR_4965); + RzIlOpEffect *empty_4967 = EMPTY(); + + return SEQN(s, op_ASSIGN_4956, empty_4957, op_ASSIGN_4966, empty_4967); +} + +RzILOpEffect *hex_il_op_a4_combineri(void *hi) { + // READ + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_MUL_4968 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4969 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4968)); + RzIlOpPure *op_NOT_4970 = LOGNOT(op_LSHIFT_4969); + RzIlOpPure *op_AND_4971 = LOGAND(Rdd, op_NOT_4970); + RzIlOpPure *op_AND_4972 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("s"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4973 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4974 = SHIFTL0(op_AND_4972, op_MUL_4973); + RzIlOpPure *op_OR_4975 = LOGOR(op_AND_4971, op_LSHIFT_4974); + RzIlOpPure *op_MUL_4978 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4979 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_4978)); + RzIlOpPure *op_NOT_4980 = LOGNOT(op_LSHIFT_4979); + RzIlOpPure *op_AND_4981 = LOGAND(DUP(Rdd), op_NOT_4980); + RzIlOpPure *op_AND_4982 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(Rs, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_4983 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_4984 = SHIFTL0(op_AND_4982, op_MUL_4983); + RzIlOpPure *op_OR_4985 = LOGOR(op_AND_4981, op_LSHIFT_4984); + + // WRITE + RzIlOpEffect *op_ASSIGN_4976 = SETG(Rdd_assoc, op_OR_4975); + RzIlOpEffect *empty_4977 = EMPTY(); + RzIlOpEffect *op_ASSIGN_4986 = SETG(Rdd_assoc, op_OR_4985); + RzIlOpEffect *empty_4987 = EMPTY(); + + return SEQN(s, op_ASSIGN_4976, empty_4977, op_ASSIGN_4986, empty_4987); +} + +RzILOpEffect *hex_il_op_a4_cround_ri(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a4_cround_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a4_ext(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *u = UN((ut32)ISA2IMM(hi, "u")) + RzILOpPure *const_pos5 = UN(32, 5); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos5", const_pos5, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos5"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_4988 = LET("const_pos0", const_pos0, LET("const_pos5", const_pos5, HEX_EXTRACT64(Rt, VARLP("const_pos0"), VARLP("const_pos5")))); + RzIlOpPure *cond_4989 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_4988, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *empty_4990 = EMPTY(); + + return SEQN(empty_4990); +} + +RzILOpEffect *hex_il_op_a4_modwrapu(void *hi) { + // READ + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(Rs, VARLP("const_pos0"))); + RzIlOpPure *cast_ut32_4991 = CAST(32, IL_FALSE, Rt); + RzIlOpPure *op_ADD_4992 = ADD(DUP(Rs), cast_ut32_4991); + RzIlOpPure *cast_ut32_4994 = CAST(32, IL_FALSE, DUP(Rs)); + RzIlOpPure *cast_ut32_4995 = CAST(32, IL_FALSE, DUP(Rt)); + RzIlOpPure *op_GE = UGE(cast_ut32_4994, cast_ut32_4995); + RzIlOpPure *cast_ut32_4996 = CAST(32, IL_FALSE, DUP(Rt)); + RzIlOpPure *op_SUB_4997 = SUB(DUP(Rs), cast_ut32_4996); + + // WRITE + RzIlOpEffect *op_ASSIGN_4993 = SETG(Rd_assoc, op_ADD_4992); + RzIlOpEffect *op_ASSIGN_4998 = SETG(Rd_assoc, op_SUB_4997); + RzIlOpEffect *op_ASSIGN_4999 = SETG(Rd_assoc, Rs); + RzIlOpEffect *seq_then_5000 = SEQN(op_ASSIGN_4998); + RzIlOpEffect *seq_else_5002 = SEQN(op_ASSIGN_4999); + RzIlOpEffect *branch_5001 = BRANCH(op_GE, seq_then_5000, seq_else_5002); + RzIlOpEffect *seq_then_5003 = SEQN(op_ASSIGN_4993); + RzIlOpEffect *seq_else_5005 = SEQN(branch_5001); + RzIlOpEffect *branch_5004 = BRANCH(op_LT, seq_then_5003, seq_else_5005); + + return SEQN(branch_5004); +} + +RzILOpEffect *hex_il_op_a4_orn(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_NOT_5006 = LOGNOT(Rs); + RzIlOpPure *op_OR_5007 = LOGOR(Rt, op_NOT_5006); + + // WRITE + RzIlOpEffect *op_ASSIGN_5008 = SETG(Rd_assoc, op_OR_5007); + + return SEQN(op_ASSIGN_5008); +} + +RzILOpEffect *hex_il_op_a4_ornp(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + RzIlOpPure *op_NOT_5009 = LOGNOT(Rss); + RzIlOpPure *op_OR_5010 = LOGOR(Rtt, op_NOT_5009); + + // WRITE + RzIlOpEffect *op_ASSIGN_5011 = SETG(Rdd_assoc, op_OR_5010); + + return SEQN(op_ASSIGN_5011); +} + +RzILOpEffect *hex_il_op_a4_paslhf(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + + // EXEC + RzIlOpPure *op_AND_5012 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5013 = LET("const_pos16", const_pos16, SHIFTL0(Rs, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5014 = SETG(Rd_assoc, op_LSHIFT_5013); + RzIlOpEffect *nop_5015 = NOP; + RzIlOpEffect *seq_then_5016 = SEQN(op_ASSIGN_5014); + RzIlOpEffect *seq_else_5018 = SEQN(nop_5015); + RzIlOpEffect *branch_5017 = BRANCH(op_AND_5012, seq_then_5016, seq_else_5018); + + return SEQN(branch_5017); +} + +RzILOpEffect *hex_il_op_a4_paslhfnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + + // EXEC + RzIlOpPure *op_AND_5019 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5020 = LET("const_pos16", const_pos16, SHIFTL0(Rs, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5021 = SETG(Rd_assoc, op_LSHIFT_5020); + RzIlOpEffect *nop_5022 = NOP; + RzIlOpEffect *seq_then_5023 = SEQN(op_ASSIGN_5021); + RzIlOpEffect *seq_else_5025 = SEQN(nop_5022); + RzIlOpEffect *branch_5024 = BRANCH(op_AND_5019, seq_then_5023, seq_else_5025); + + return SEQN(branch_5024); +} + +RzILOpEffect *hex_il_op_a4_paslht(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + + // EXEC + RzIlOpPure *op_AND_5026 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5027 = LET("const_pos16", const_pos16, SHIFTL0(Rs, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5028 = SETG(Rd_assoc, op_LSHIFT_5027); + RzIlOpEffect *nop_5029 = NOP; + RzIlOpEffect *seq_then_5030 = SEQN(op_ASSIGN_5028); + RzIlOpEffect *seq_else_5032 = SEQN(nop_5029); + RzIlOpEffect *branch_5031 = BRANCH(op_AND_5026, seq_then_5030, seq_else_5032); + + return SEQN(branch_5031); +} + +RzILOpEffect *hex_il_op_a4_paslhtnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + + // EXEC + RzIlOpPure *op_AND_5033 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5034 = LET("const_pos16", const_pos16, SHIFTL0(Rs, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5035 = SETG(Rd_assoc, op_LSHIFT_5034); + RzIlOpEffect *nop_5036 = NOP; + RzIlOpEffect *seq_then_5037 = SEQN(op_ASSIGN_5035); + RzIlOpEffect *seq_else_5039 = SEQN(nop_5036); + RzIlOpEffect *branch_5038 = BRANCH(op_AND_5033, seq_then_5037, seq_else_5039); + + return SEQN(branch_5038); +} + +RzILOpEffect *hex_il_op_a4_pasrhf(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + + // EXEC + RzIlOpPure *op_AND_5040 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_5041 = LET("const_pos16", const_pos16, SHIFTR0(Rs, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5042 = SETG(Rd_assoc, op_RSHIFT_5041); + RzIlOpEffect *nop_5043 = NOP; + RzIlOpEffect *seq_then_5044 = SEQN(op_ASSIGN_5042); + RzIlOpEffect *seq_else_5046 = SEQN(nop_5043); + RzIlOpEffect *branch_5045 = BRANCH(op_AND_5040, seq_then_5044, seq_else_5046); + + return SEQN(branch_5045); +} + +RzILOpEffect *hex_il_op_a4_pasrhfnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + + // EXEC + RzIlOpPure *op_AND_5047 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_5048 = LET("const_pos16", const_pos16, SHIFTR0(Rs, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5049 = SETG(Rd_assoc, op_RSHIFT_5048); + RzIlOpEffect *nop_5050 = NOP; + RzIlOpEffect *seq_then_5051 = SEQN(op_ASSIGN_5049); + RzIlOpEffect *seq_else_5053 = SEQN(nop_5050); + RzIlOpEffect *branch_5052 = BRANCH(op_AND_5047, seq_then_5051, seq_else_5053); + + return SEQN(branch_5052); +} + +RzILOpEffect *hex_il_op_a4_pasrht(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + + // EXEC + RzIlOpPure *op_AND_5054 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_5055 = LET("const_pos16", const_pos16, SHIFTR0(Rs, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5056 = SETG(Rd_assoc, op_RSHIFT_5055); + RzIlOpEffect *nop_5057 = NOP; + RzIlOpEffect *seq_then_5058 = SEQN(op_ASSIGN_5056); + RzIlOpEffect *seq_else_5060 = SEQN(nop_5057); + RzIlOpEffect *branch_5059 = BRANCH(op_AND_5054, seq_then_5058, seq_else_5060); + + return SEQN(branch_5059); +} + +RzILOpEffect *hex_il_op_a4_pasrhtnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + + // EXEC + RzIlOpPure *op_AND_5061 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_RSHIFT_5062 = LET("const_pos16", const_pos16, SHIFTR0(Rs, VARLP("const_pos16"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5063 = SETG(Rd_assoc, op_RSHIFT_5062); + RzIlOpEffect *nop_5064 = NOP; + RzIlOpEffect *seq_then_5065 = SEQN(op_ASSIGN_5063); + RzIlOpEffect *seq_else_5067 = SEQN(nop_5064); + RzIlOpEffect *branch_5066 = BRANCH(op_AND_5061, seq_then_5065, seq_else_5067); + + return SEQN(branch_5066); +} + +RzILOpEffect *hex_il_op_a4_psxtbf(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_AND_5068 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_NE = LET("const_pos8", const_pos8, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos8"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5069 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, HEX_SEXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *cond_5070 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5069, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5071 = SETG(Rd_assoc, cond_5070); + RzIlOpEffect *nop_5072 = NOP; + RzIlOpEffect *seq_then_5073 = SEQN(op_ASSIGN_5071); + RzIlOpEffect *seq_else_5075 = SEQN(nop_5072); + RzIlOpEffect *branch_5074 = BRANCH(op_AND_5068, seq_then_5073, seq_else_5075); + + return SEQN(branch_5074); +} + +RzILOpEffect *hex_il_op_a4_psxtbfnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_AND_5076 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_NE = LET("const_pos8", const_pos8, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos8"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5077 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, HEX_SEXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *cond_5078 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5077, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5079 = SETG(Rd_assoc, cond_5078); + RzIlOpEffect *nop_5080 = NOP; + RzIlOpEffect *seq_then_5081 = SEQN(op_ASSIGN_5079); + RzIlOpEffect *seq_else_5083 = SEQN(nop_5080); + RzIlOpEffect *branch_5082 = BRANCH(op_AND_5076, seq_then_5081, seq_else_5083); + + return SEQN(branch_5082); +} + +RzILOpEffect *hex_il_op_a4_psxtbt(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_AND_5084 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_NE = LET("const_pos8", const_pos8, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos8"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5085 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, HEX_SEXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *cond_5086 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5085, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5087 = SETG(Rd_assoc, cond_5086); + RzIlOpEffect *nop_5088 = NOP; + RzIlOpEffect *seq_then_5089 = SEQN(op_ASSIGN_5087); + RzIlOpEffect *seq_else_5091 = SEQN(nop_5088); + RzIlOpEffect *branch_5090 = BRANCH(op_AND_5084, seq_then_5089, seq_else_5091); + + return SEQN(branch_5090); +} + +RzILOpEffect *hex_il_op_a4_psxtbtnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_AND_5092 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_NE = LET("const_pos8", const_pos8, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos8"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5093 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, HEX_SEXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *cond_5094 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5093, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5095 = SETG(Rd_assoc, cond_5094); + RzIlOpEffect *nop_5096 = NOP; + RzIlOpEffect *seq_then_5097 = SEQN(op_ASSIGN_5095); + RzIlOpEffect *seq_else_5099 = SEQN(nop_5096); + RzIlOpEffect *branch_5098 = BRANCH(op_AND_5092, seq_then_5097, seq_else_5099); + + return SEQN(branch_5098); +} + +RzILOpEffect *hex_il_op_a4_psxthf(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_AND_5100 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5101 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_5102 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5101, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5103 = SETG(Rd_assoc, cond_5102); + RzIlOpEffect *nop_5104 = NOP; + RzIlOpEffect *seq_then_5105 = SEQN(op_ASSIGN_5103); + RzIlOpEffect *seq_else_5107 = SEQN(nop_5104); + RzIlOpEffect *branch_5106 = BRANCH(op_AND_5100, seq_then_5105, seq_else_5107); + + return SEQN(branch_5106); +} + +RzILOpEffect *hex_il_op_a4_psxthfnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_AND_5108 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5109 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_5110 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5109, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5111 = SETG(Rd_assoc, cond_5110); + RzIlOpEffect *nop_5112 = NOP; + RzIlOpEffect *seq_then_5113 = SEQN(op_ASSIGN_5111); + RzIlOpEffect *seq_else_5115 = SEQN(nop_5112); + RzIlOpEffect *branch_5114 = BRANCH(op_AND_5108, seq_then_5113, seq_else_5115); + + return SEQN(branch_5114); +} + +RzILOpEffect *hex_il_op_a4_psxtht(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_AND_5116 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5117 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_5118 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5117, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5119 = SETG(Rd_assoc, cond_5118); + RzIlOpEffect *nop_5120 = NOP; + RzIlOpEffect *seq_then_5121 = SEQN(op_ASSIGN_5119); + RzIlOpEffect *seq_else_5123 = SEQN(nop_5120); + RzIlOpEffect *branch_5122 = BRANCH(op_AND_5116, seq_then_5121, seq_else_5123); + + return SEQN(branch_5122); +} + +RzILOpEffect *hex_il_op_a4_psxthtnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_AND_5124 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5125 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_SEXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_5126 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5125, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5127 = SETG(Rd_assoc, cond_5126); + RzIlOpEffect *nop_5128 = NOP; + RzIlOpEffect *seq_then_5129 = SEQN(op_ASSIGN_5127); + RzIlOpEffect *seq_else_5131 = SEQN(nop_5128); + RzIlOpEffect *branch_5130 = BRANCH(op_AND_5124, seq_then_5129, seq_else_5131); + + return SEQN(branch_5130); +} + +RzILOpEffect *hex_il_op_a4_pzxtbf(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_AND_5132 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_NE = LET("const_pos8", const_pos8, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos8"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5133 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, HEX_EXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *cond_5134 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5133, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5135 = SETG(Rd_assoc, cond_5134); + RzIlOpEffect *nop_5136 = NOP; + RzIlOpEffect *seq_then_5137 = SEQN(op_ASSIGN_5135); + RzIlOpEffect *seq_else_5139 = SEQN(nop_5136); + RzIlOpEffect *branch_5138 = BRANCH(op_AND_5132, seq_then_5137, seq_else_5139); + + return SEQN(branch_5138); +} + +RzILOpEffect *hex_il_op_a4_pzxtbfnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_AND_5140 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_NE = LET("const_pos8", const_pos8, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos8"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5141 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, HEX_EXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *cond_5142 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5141, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5143 = SETG(Rd_assoc, cond_5142); + RzIlOpEffect *nop_5144 = NOP; + RzIlOpEffect *seq_then_5145 = SEQN(op_ASSIGN_5143); + RzIlOpEffect *seq_else_5147 = SEQN(nop_5144); + RzIlOpEffect *branch_5146 = BRANCH(op_AND_5140, seq_then_5145, seq_else_5147); + + return SEQN(branch_5146); +} + +RzILOpEffect *hex_il_op_a4_pzxtbt(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_AND_5148 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_NE = LET("const_pos8", const_pos8, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos8"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5149 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, HEX_EXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *cond_5150 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5149, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5151 = SETG(Rd_assoc, cond_5150); + RzIlOpEffect *nop_5152 = NOP; + RzIlOpEffect *seq_then_5153 = SEQN(op_ASSIGN_5151); + RzIlOpEffect *seq_else_5155 = SEQN(nop_5152); + RzIlOpEffect *branch_5154 = BRANCH(op_AND_5148, seq_then_5153, seq_else_5155); + + return SEQN(branch_5154); +} + +RzILOpEffect *hex_il_op_a4_pzxtbtnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_AND_5156 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_NE = LET("const_pos8", const_pos8, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos8"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5157 = LET("const_pos0", const_pos0, LET("const_pos8", const_pos8, HEX_EXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos8")))); + RzIlOpPure *cond_5158 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5157, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5159 = SETG(Rd_assoc, cond_5158); + RzIlOpEffect *nop_5160 = NOP; + RzIlOpEffect *seq_then_5161 = SEQN(op_ASSIGN_5159); + RzIlOpEffect *seq_else_5163 = SEQN(nop_5160); + RzIlOpEffect *branch_5162 = BRANCH(op_AND_5156, seq_then_5161, seq_else_5163); + + return SEQN(branch_5162); +} + +RzILOpEffect *hex_il_op_a4_pzxthf(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_AND_5164 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5165 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_EXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_5166 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5165, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5167 = SETG(Rd_assoc, cond_5166); + RzIlOpEffect *nop_5168 = NOP; + RzIlOpEffect *seq_then_5169 = SEQN(op_ASSIGN_5167); + RzIlOpEffect *seq_else_5171 = SEQN(nop_5168); + RzIlOpEffect *branch_5170 = BRANCH(op_AND_5164, seq_then_5169, seq_else_5171); + + return SEQN(branch_5170); +} + +RzILOpEffect *hex_il_op_a4_pzxthfnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_AND_5172 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5173 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_EXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_5174 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5173, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5175 = SETG(Rd_assoc, cond_5174); + RzIlOpEffect *nop_5176 = NOP; + RzIlOpEffect *seq_then_5177 = SEQN(op_ASSIGN_5175); + RzIlOpEffect *seq_else_5179 = SEQN(nop_5176); + RzIlOpEffect *branch_5178 = BRANCH(op_AND_5172, seq_then_5177, seq_else_5179); + + return SEQN(branch_5178); +} + +RzILOpEffect *hex_il_op_a4_pzxtht(void *hi) { + // READ + const char *Pu_assoc = ISA2REG(hi, "Pu", false); + RzIlOpPure *Pu = VARG(Pu_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_AND_5180 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5181 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_EXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_5182 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5181, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5183 = SETG(Rd_assoc, cond_5182); + RzIlOpEffect *nop_5184 = NOP; + RzIlOpEffect *seq_then_5185 = SEQN(op_ASSIGN_5183); + RzIlOpEffect *seq_else_5187 = SEQN(nop_5184); + RzIlOpEffect *branch_5186 = BRANCH(op_AND_5180, seq_then_5185, seq_else_5187); + + return SEQN(branch_5186); +} + +RzILOpEffect *hex_il_op_a4_pzxthtnew(void *hi) { + // READ + const char *Pu_tmp_assoc = ISA2REG(hi, "Pu", true); + RzIlOpPure *Pu = VARG(Pu_tmp_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + + // EXEC + RzIlOpPure *op_AND_5188 = LET("const_pos1", const_pos1, LOGAND(Pu, VARLP("const_pos1"))); + RzIlOpPure *op_NE = LET("const_pos16", const_pos16, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos16"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5189 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, HEX_EXTRACT64(Rs, VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *cond_5190 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5189, VARLP("const_pos0LL"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5191 = SETG(Rd_assoc, cond_5190); + RzIlOpEffect *nop_5192 = NOP; + RzIlOpEffect *seq_then_5193 = SEQN(op_ASSIGN_5191); + RzIlOpEffect *seq_else_5195 = SEQN(nop_5192); + RzIlOpEffect *branch_5194 = BRANCH(op_AND_5188, seq_then_5193, seq_else_5195); + + return SEQN(branch_5194); +} + +RzILOpEffect *hex_il_op_a4_rcmpeq(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_EQ = EQ(Rs, Rt); + + // WRITE + RzIlOpEffect *op_ASSIGN_5196 = SETG(Rd_assoc, op_EQ); + + return SEQN(op_ASSIGN_5196); +} + +RzILOpEffect *hex_il_op_a4_rcmpeqi(void *hi) { + // READ + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_EQ = EQ(Rs, VARL("s")); + + // WRITE + RzIlOpEffect *op_ASSIGN_5197 = SETG(Rd_assoc, op_EQ); + + return SEQN(s, op_ASSIGN_5197); +} + +RzILOpEffect *hex_il_op_a4_rcmpneq(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + + // EXEC + RzIlOpPure *op_NE = INV(EQ(Rs, Rt)); + + // WRITE + RzIlOpEffect *op_ASSIGN_5198 = SETG(Rd_assoc, op_NE); + + return SEQN(op_ASSIGN_5198); +} + +RzILOpEffect *hex_il_op_a4_rcmpneqi(void *hi) { + // READ + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + + // EXEC + RzIlOpPure *op_NE = INV(EQ(Rs, VARL("s"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5199 = SETG(Rd_assoc, op_NE); + + return SEQN(s, op_ASSIGN_5199); +} + +RzILOpEffect *hex_il_op_a4_round_ri(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *u = UN((ut32)ISA2IMM(hi, "u")) + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_EQ = LET("const_pos0", const_pos0, EQ(VARL("u"), VARLP("const_pos0"))); + RzIlOpPure *cast_st32_5200 = CAST(32, MSB(Rs), DUP(Rs)); + RzIlOpPure *cast_st64_5201 = CAST(32, IL_FALSE, cast_st32_5200); + RzIlOpPure *op_SUB_5202 = LET("const_pos1", const_pos1, SUB(VARL("u"), VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5203 = LET("const_pos1", const_pos1, SHIFTL0(VARLP("const_pos1"), op_SUB_5202)); + RzIlOpPure *op_ADD_5204 = ADD(cast_st64_5201, op_LSHIFT_5203); + RzIlOpPure *cond_5205 = ITE(op_EQ, DUP(Rs), op_ADD_5204); + RzIlOpPure *op_RSHIFT_5206 = SHIFTR0(cond_5205, VARL("u")); + + // WRITE + RzIlOpEffect *op_ASSIGN_5207 = SETG(Rd_assoc, op_RSHIFT_5206); + + return SEQN(op_ASSIGN_5207); +} + +RzILOpEffect *hex_il_op_a4_round_ri_sat(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *u = UN((ut32)ISA2IMM(hi, "u")) + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *op_EQ = LET("const_pos0", const_pos0, EQ(VARL("u"), VARLP("const_pos0"))); + RzIlOpPure *cast_st32_5208 = CAST(32, MSB(Rs), DUP(Rs)); + RzIlOpPure *cast_st64_5209 = CAST(32, IL_FALSE, cast_st32_5208); + RzIlOpPure *op_SUB_5210 = LET("const_pos1", const_pos1, SUB(VARL("u"), VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5211 = LET("const_pos1", const_pos1, SHIFTL0(VARLP("const_pos1"), op_SUB_5210)); + RzIlOpPure *op_ADD_5212 = ADD(cast_st64_5209, op_LSHIFT_5211); + RzIlOpPure *cond_5213 = ITE(op_EQ, DUP(Rs), op_ADD_5212); + RzIlOpPure *c_call_5214 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cond_5213, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_5215 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5214, VARLP("const_pos0LL"))); + RzIlOpPure *cast_st32_5216 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_5217 = CAST(32, IL_FALSE, cast_st32_5216); + RzIlOpPure *op_SUB_5218 = LET("const_pos1", const_pos1, SUB(VARL("u"), VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5219 = LET("const_pos1", const_pos1, SHIFTL0(VARLP("const_pos1"), op_SUB_5218)); + RzIlOpPure *op_ADD_5220 = ADD(cast_st64_5217, op_LSHIFT_5219); + RzIlOpPure *cond_5221 = ITE(op_EQ, DUP(Rs), op_ADD_5220); + RzIlOpPure *cast_st32_5222 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_5223 = CAST(32, IL_FALSE, cast_st32_5222); + RzIlOpPure *op_SUB_5224 = LET("const_pos1", const_pos1, SUB(VARL("u"), VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5225 = LET("const_pos1", const_pos1, SHIFTL0(VARLP("const_pos1"), op_SUB_5224)); + RzIlOpPure *op_ADD_5226 = ADD(cast_st64_5223, op_LSHIFT_5225); + RzIlOpPure *cond_5227 = ITE(op_EQ, DUP(Rs), op_ADD_5226); + RzIlOpPure *c_call_5228 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_5229 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_5230 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_5231 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_5229, c_call_5230, VARLP("const_pos1"))); + RzIlOpPure *cond_5232 = ITE(c_call_5228, c_call_5231, usr); + RzIlOpPure *cast_st32_5234 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_5235 = CAST(32, IL_FALSE, cast_st32_5234); + RzIlOpPure *op_SUB_5236 = LET("const_pos1", const_pos1, SUB(VARL("u"), VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5237 = LET("const_pos1", const_pos1, SHIFTL0(VARLP("const_pos1"), op_SUB_5236)); + RzIlOpPure *op_ADD_5238 = ADD(cast_st64_5235, op_LSHIFT_5237); + RzIlOpPure *cond_5239 = ITE(op_EQ, DUP(Rs), op_ADD_5238); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(cond_5239, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_5240 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_5241 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_5240)); + RzIlOpPure *op_NEG_5242 = NEG(op_LSHIFT_5241); + RzIlOpPure *op_SUB_5243 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_5244 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_5243)); + RzIlOpPure *op_SUB_5245 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_5244, VARLP("const_pos1"))); + RzIlOpPure *cond_5246 = ITE(op_LT, op_NEG_5242, op_SUB_5245); + RzIlOpPure *cond_5247 = ITE(op_EQ, cond_5227, cond_5246); + RzIlOpPure *op_RSHIFT_5248 = SHIFTR0(cond_5247, VARL("u")); + + // WRITE + RzIlOpEffect *op_ASSIGN_5233 = SETG(usr_assoc, cond_5232); + RzIlOpEffect *op_ASSIGN_5249 = SETG(Rd_assoc, op_RSHIFT_5248); + + return SEQN(op_ASSIGN_5249); +} + +RzILOpEffect *hex_il_op_a4_round_rr(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos5 = UN(32, 5); + RzILOpPure *const_pos0 = UN(32, 0); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos5", const_pos5, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos5"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5250 = LET("const_pos0", const_pos0, LET("const_pos5", const_pos5, HEX_EXTRACT64(Rt, VARLP("const_pos0"), VARLP("const_pos5")))); + RzIlOpPure *cond_5251 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5250, VARLP("const_pos0LL"))); + RzIlOpPure *op_EQ = LET("const_pos0", const_pos0, EQ(cond_5251, VARLP("const_pos0"))); + RzIlOpPure *cast_st32_5252 = CAST(32, MSB(Rs), DUP(Rs)); + RzIlOpPure *cast_st64_5253 = CAST(32, IL_FALSE, cast_st32_5252); + RzIlOpPure *c_call_5254 = LET("const_pos0", const_pos0, LET("const_pos5", const_pos5, HEX_EXTRACT64(DUP(Rt), VARLP("const_pos0"), VARLP("const_pos5")))); + RzIlOpPure *cond_5255 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5254, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_5256 = LET("const_pos1", const_pos1, SUB(cond_5255, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5257 = LET("const_pos1", const_pos1, SHIFTL0(VARLP("const_pos1"), op_SUB_5256)); + RzIlOpPure *op_ADD_5258 = ADD(cast_st64_5253, op_LSHIFT_5257); + RzIlOpPure *cond_5259 = ITE(op_EQ, DUP(Rs), op_ADD_5258); + RzIlOpPure *c_call_5260 = LET("const_pos0", const_pos0, LET("const_pos5", const_pos5, HEX_EXTRACT64(DUP(Rt), VARLP("const_pos0"), VARLP("const_pos5")))); + RzIlOpPure *cond_5261 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5260, VARLP("const_pos0LL"))); + RzIlOpPure *op_RSHIFT_5262 = SHIFTR0(cond_5259, cond_5261); + + // WRITE + RzIlOpEffect *op_ASSIGN_5263 = SETG(Rd_assoc, op_RSHIFT_5262); + + return SEQN(op_ASSIGN_5263); +} + +RzILOpEffect *hex_il_op_a4_round_rr_sat(void *hi) { + // READ + const char *Rd_assoc = ISA2REG(hi, "Rd", false); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos5 = UN(32, 5); + const char *Rt_assoc = ISA2REG(hi, "Rt", false); + RzIlOpPure *Rt = VARG(Rt_assoc); + RzILOpPure *const_pos0LL = SN(64, 0); + const char *Rs_assoc = ISA2REG(hi, "Rs", false); + RzIlOpPure *Rs = VARG(Rs_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *usr_assoc = ALIAS2REG(, HEX_REG_ALIAS_USR); + RzIlOpPure *usr = VARG(usr_assoc); + RzILOpPure *const_pos1LL = SN(64, 1); + + // EXEC + RzIlOpPure *op_NE = LET("const_pos32", const_pos32, LET("const_pos0", const_pos0, INV(EQ(VARLP("const_pos32"), VARLP("const_pos0"))))); + RzIlOpPure *c_call_5264 = LET("const_pos0", const_pos0, LET("const_pos5", const_pos5, HEX_EXTRACT64(Rt, VARLP("const_pos0"), VARLP("const_pos5")))); + RzIlOpPure *cond_5265 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5264, VARLP("const_pos0LL"))); + RzIlOpPure *op_EQ = LET("const_pos0", const_pos0, EQ(cond_5265, VARLP("const_pos0"))); + RzIlOpPure *cast_st32_5266 = CAST(32, MSB(Rs), DUP(Rs)); + RzIlOpPure *cast_st64_5267 = CAST(32, IL_FALSE, cast_st32_5266); + RzIlOpPure *c_call_5268 = LET("const_pos0", const_pos0, LET("const_pos5", const_pos5, HEX_EXTRACT64(DUP(Rt), VARLP("const_pos0"), VARLP("const_pos5")))); + RzIlOpPure *cond_5269 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5268, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_5270 = LET("const_pos1", const_pos1, SUB(cond_5269, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5271 = LET("const_pos1", const_pos1, SHIFTL0(VARLP("const_pos1"), op_SUB_5270)); + RzIlOpPure *op_ADD_5272 = ADD(cast_st64_5267, op_LSHIFT_5271); + RzIlOpPure *cond_5273 = ITE(op_EQ, DUP(Rs), op_ADD_5272); + RzIlOpPure *c_call_5274 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, HEX_SEXTRACT64(cond_5273, VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *cond_5275 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5274, VARLP("const_pos0LL"))); + RzIlOpPure *c_call_5276 = LET("const_pos0", const_pos0, LET("const_pos5", const_pos5, HEX_EXTRACT64(DUP(Rt), VARLP("const_pos0"), VARLP("const_pos5")))); + RzIlOpPure *cond_5277 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5276, VARLP("const_pos0LL"))); + RzIlOpPure *cast_st32_5278 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_5279 = CAST(32, IL_FALSE, cast_st32_5278); + RzIlOpPure *c_call_5280 = LET("const_pos0", const_pos0, LET("const_pos5", const_pos5, HEX_EXTRACT64(DUP(Rt), VARLP("const_pos0"), VARLP("const_pos5")))); + RzIlOpPure *cond_5281 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5280, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_5282 = LET("const_pos1", const_pos1, SUB(cond_5281, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5283 = LET("const_pos1", const_pos1, SHIFTL0(VARLP("const_pos1"), op_SUB_5282)); + RzIlOpPure *op_ADD_5284 = ADD(cast_st64_5279, op_LSHIFT_5283); + RzIlOpPure *cond_5285 = ITE(op_EQ, DUP(Rs), op_ADD_5284); + RzIlOpPure *c_call_5286 = LET("const_pos0", const_pos0, LET("const_pos5", const_pos5, HEX_EXTRACT64(DUP(Rt), VARLP("const_pos0"), VARLP("const_pos5")))); + RzIlOpPure *cond_5287 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5286, VARLP("const_pos0LL"))); + RzIlOpPure *cast_st32_5288 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_5289 = CAST(32, IL_FALSE, cast_st32_5288); + RzIlOpPure *c_call_5290 = LET("const_pos0", const_pos0, LET("const_pos5", const_pos5, HEX_EXTRACT64(DUP(Rt), VARLP("const_pos0"), VARLP("const_pos5")))); + RzIlOpPure *cond_5291 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5290, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_5292 = LET("const_pos1", const_pos1, SUB(cond_5291, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5293 = LET("const_pos1", const_pos1, SHIFTL0(VARLP("const_pos1"), op_SUB_5292)); + RzIlOpPure *op_ADD_5294 = ADD(cast_st64_5289, op_LSHIFT_5293); + RzIlOpPure *cond_5295 = ITE(op_EQ, DUP(Rs), op_ADD_5294); + RzIlOpPure *c_call_5296 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_5297 = HEX_REGFIELD(RF_OFFSET, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_5298 = HEX_REGFIELD(RF_WIDTH, HEX_REG_FIELD_USR_OVF); + RzIlOpPure *c_call_5299 = LET("const_pos1", const_pos1, HEX_DEPOSIT64(usr, c_call_5297, c_call_5298, VARLP("const_pos1"))); + RzIlOpPure *cond_5300 = ITE(c_call_5296, c_call_5299, usr); + RzIlOpPure *c_call_5302 = LET("const_pos0", const_pos0, LET("const_pos5", const_pos5, HEX_EXTRACT64(DUP(Rt), VARLP("const_pos0"), VARLP("const_pos5")))); + RzIlOpPure *cond_5303 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5302, VARLP("const_pos0LL"))); + RzIlOpPure *cast_st32_5304 = CAST(32, MSB(DUP(Rs)), DUP(Rs)); + RzIlOpPure *cast_st64_5305 = CAST(32, IL_FALSE, cast_st32_5304); + RzIlOpPure *c_call_5306 = LET("const_pos0", const_pos0, LET("const_pos5", const_pos5, HEX_EXTRACT64(DUP(Rt), VARLP("const_pos0"), VARLP("const_pos5")))); + RzIlOpPure *cond_5307 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5306, VARLP("const_pos0LL"))); + RzIlOpPure *op_SUB_5308 = LET("const_pos1", const_pos1, SUB(cond_5307, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5309 = LET("const_pos1", const_pos1, SHIFTL0(VARLP("const_pos1"), op_SUB_5308)); + RzIlOpPure *op_ADD_5310 = ADD(cast_st64_5305, op_LSHIFT_5309); + RzIlOpPure *cond_5311 = ITE(op_EQ, DUP(Rs), op_ADD_5310); + RzIlOpPure *op_LT = LET("const_pos0", const_pos0, ULT(cond_5311, VARLP("const_pos0"))); + RzIlOpPure *op_SUB_5312 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_5313 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_5312)); + RzIlOpPure *op_NEG_5314 = NEG(op_LSHIFT_5313); + RzIlOpPure *op_SUB_5315 = LET("const_pos32", const_pos32, LET("const_pos1", const_pos1, SUB(VARLP("const_pos32"), VARLP("const_pos1")))); + RzIlOpPure *op_LSHIFT_5316 = LET("const_pos1LL", const_pos1LL, SHIFTL0(VARLP("const_pos1LL"), op_SUB_5315)); + RzIlOpPure *op_SUB_5317 = LET("const_pos1", const_pos1, SUB(op_LSHIFT_5316, VARLP("const_pos1"))); + RzIlOpPure *cond_5318 = ITE(op_LT, op_NEG_5314, op_SUB_5317); + RzIlOpPure *cond_5319 = ITE(op_EQ, cond_5295, cond_5318); + RzIlOpPure *c_call_5320 = LET("const_pos0", const_pos0, LET("const_pos5", const_pos5, HEX_EXTRACT64(DUP(Rt), VARLP("const_pos0"), VARLP("const_pos5")))); + RzIlOpPure *cond_5321 = LET("const_pos0LL", const_pos0LL, ITE(op_NE, c_call_5320, VARLP("const_pos0LL"))); + RzIlOpPure *op_RSHIFT_5322 = SHIFTR0(cond_5319, cond_5321); + + // WRITE + RzIlOpEffect *op_ASSIGN_5301 = SETG(usr_assoc, cond_5300); + RzIlOpEffect *op_ASSIGN_5323 = SETG(Rd_assoc, op_RSHIFT_5322); + + return SEQN(op_ASSIGN_5323); +} + +RzILOpEffect *hex_il_op_a4_subp_c(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a4_tfrcpp(void *hi) { + // READ + const char *Rdd_assoc = ISA2REG(hi, "Rdd", false); + RzIlOpPure *Rdd = VARG(Rdd_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + const char *Px_assoc = ISA2REG(hi, "Px", false); + RzIlOpPure *Px = VARG(Px_assoc); + RzILOpPure *const_pos1 = UN(32, 1); + const char *Css_assoc = ISA2REG(hi, "Css", false); + RzIlOpPure *Css = VARG(Css_assoc); + + // EXEC + RzIlOpPure *op_NOT_5324 = LOGNOT(Rtt); + RzIlOpPure *op_ADD_5325 = ADD(Rss, op_NOT_5324); + RzIlOpPure *op_AND_5326 = LET("const_pos1", const_pos1, LOGAND(Px, VARLP("const_pos1"))); + RzIlOpPure *op_ADD_5327 = ADD(op_ADD_5325, op_AND_5326); + RzIlOpPure *op_NOT_5329 = LOGNOT(DUP(Rtt)); + RzIlOpPure *op_AND_5330 = LET("const_pos1", const_pos1, LOGAND(DUP(Px), VARLP("const_pos1"))); + + // WRITE + RzIlOpEffect *op_ASSIGN_5328 = SETG(Rdd_assoc, op_ADD_5327); + RzIlOpEffect *op_ASSIGN_5331 = SETG(Rdd_assoc, Css); + + return SEQN(op_ASSIGN_5331); +} + +RzILOpEffect *hex_il_op_a4_tfrpcp(void *hi) { + // READ + const char *Cdd_assoc = ISA2REG(hi, "Cdd", false); + RzIlOpPure *Cdd = VARG(Cdd_assoc); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + + // EXEC + + // WRITE + RzIlOpEffect *op_ASSIGN_5332 = SETG(Cdd_assoc, Rss); + + return SEQN(op_ASSIGN_5332); +} + +RzILOpEffect *hex_il_op_a4_tlbmatch(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a4_vcmpbeq_any(void *hi) { + // READ + // Declare: ut4 TLBHI; + // Declare: ut4 TLBLO; + // Declare: ut4 MASK; + // Declare: ut4 SIZE; + RzILOpPure *const_pos0x07ffffff = UN(32, 134217727); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0x0ffffffffLL = UN(32, 4294967295); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos6 = UN(32, 6); + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + // Declare: ut32 i; + RzILOpPure *const_pos8 = UN(32, 8); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + + // EXEC + RzIlOpPure *op_MUL_5334 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_5335 = SHIFTR0(Rss, op_MUL_5334); + RzIlOpPure *op_AND_5336 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5335, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_5337 = CAST(32, IL_FALSE, op_AND_5336); + RzIlOpPure *cast_ut64_5338 = CAST(64, IL_FALSE, cast_ut32_5337); + RzIlOpPure *op_MUL_5340 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_5341 = SHIFTR0(DUP(Rss), op_MUL_5340); + RzIlOpPure *op_AND_5342 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5341, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_5343 = CAST(32, IL_FALSE, op_AND_5342); + RzIlOpPure *cast_ut64_5344 = CAST(64, IL_FALSE, cast_ut32_5343); + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_MUL_5350 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_5351 = SHIFTR0(DUP(Rss), op_MUL_5350); + RzIlOpPure *op_AND_5352 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_5351, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_5353 = CAST(8, MSB(op_AND_5352), op_AND_5352); + RzIlOpPure *op_MUL_5354 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_5355 = SHIFTR0(Rtt, op_MUL_5354); + RzIlOpPure *op_AND_5356 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_5355, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_5357 = CAST(8, MSB(op_AND_5356), op_AND_5356); + RzIlOpPure *op_EQ = EQ(cast_st8_5353, cast_st8_5357); + + // WRITE + RzIlOpEffect *op_ASSIGN_5333 = SETL("MASK", const_pos0x07ffffff); + RzIlOpEffect *op_ASSIGN_5339 = SETL("TLBLO", cast_ut64_5338); + RzIlOpEffect *op_ASSIGN_5345 = SETL("TLBHI", cast_ut64_5344); + RzIlOpEffect *empty_5346 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5347 = SETG(Pd_assoc, const_pos0); + RzIlOpEffect *op_ASSIGN_5348 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_5349 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_5358 = SETG(Pd_assoc, const_pos0xff); + RzIlOpEffect *seq_then_5359 = SEQN(op_ASSIGN_5358); + RzIlOpEffect *empty_5361 = EMPTY(); + RzIlOpEffect *branch_5360 = BRANCH(op_EQ, seq_then_5359, empty_5361); + RzIlOpEffect *for_5362 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(BRANCH(op_EQ, seq_then_5359, empty_5361), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_5346, op_ASSIGN_5347, for_5362); +} + +RzILOpEffect *hex_il_op_a4_vcmpbeqi(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + RzILOpPure *const_pos1ULL = UN(64, 1); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + RzILOpPure *u = UN((ut32)ISA2IMM(hi, "u")) + + // EXEC + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_5366 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), VARL("i"))); + RzIlOpPure *op_NOT_5367 = LOGNOT(op_LSHIFT_5366); + RzIlOpPure *op_AND_5368 = LOGAND(Pd, op_NOT_5367); + RzIlOpPure *op_MUL_5369 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_5370 = SHIFTR0(Rss, op_MUL_5369); + RzIlOpPure *op_AND_5371 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_5370, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_5372 = CAST(32, IL_FALSE, op_AND_5371); + RzIlOpPure *op_EQ = EQ(cast_ut8_5372, VARL("u")); + RzIlOpPure *cast_ut64_5373 = CAST(64, IL_FALSE, op_EQ); + RzIlOpPure *op_LSHIFT_5374 = SHIFTL0(cast_ut64_5373, VARL("i")); + RzIlOpPure *op_OR_5375 = LOGOR(op_AND_5368, op_LSHIFT_5374); + + // WRITE + RzIlOpEffect *empty_5363 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5364 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_5365 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_5376 = SETG(Pd_assoc, op_OR_5375); + RzIlOpEffect *empty_5377 = EMPTY(); + RzIlOpEffect *for_5378 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Pd_assoc, op_OR_5375), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_5363, for_5378); +} + +RzILOpEffect *hex_il_op_a4_vcmpbgt(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + RzILOpPure *const_pos1ULL = UN(64, 1); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + const char *Rtt_assoc = ISA2REG(hi, "Rtt", false); + RzIlOpPure *Rtt = VARG(Rtt_assoc); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_5382 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), VARL("i"))); + RzIlOpPure *op_NOT_5383 = LOGNOT(op_LSHIFT_5382); + RzIlOpPure *op_AND_5384 = LOGAND(Pd, op_NOT_5383); + RzIlOpPure *op_MUL_5385 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_5386 = SHIFTR0(Rss, op_MUL_5385); + RzIlOpPure *op_AND_5387 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_5386, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_5388 = CAST(8, MSB(op_AND_5387), op_AND_5387); + RzIlOpPure *op_MUL_5389 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_5390 = SHIFTR0(Rtt, op_MUL_5389); + RzIlOpPure *op_AND_5391 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_5390, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_5392 = CAST(8, MSB(op_AND_5391), op_AND_5391); + RzIlOpPure *op_GT = SGT(cast_st8_5388, cast_st8_5392); + RzIlOpPure *cast_ut64_5393 = CAST(64, IL_FALSE, op_GT); + RzIlOpPure *op_LSHIFT_5394 = SHIFTL0(cast_ut64_5393, VARL("i")); + RzIlOpPure *op_OR_5395 = LOGOR(op_AND_5384, op_LSHIFT_5394); + + // WRITE + RzIlOpEffect *empty_5379 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5380 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_5381 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_5396 = SETG(Pd_assoc, op_OR_5395); + RzIlOpEffect *empty_5397 = EMPTY(); + RzIlOpEffect *for_5398 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Pd_assoc, op_OR_5395), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_5379, for_5398); +} + +RzILOpEffect *hex_il_op_a4_vcmpbgti(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + RzILOpPure *const_pos1ULL = UN(64, 1); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + + // EXEC + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_5402 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), VARL("i"))); + RzIlOpPure *op_NOT_5403 = LOGNOT(op_LSHIFT_5402); + RzIlOpPure *op_AND_5404 = LOGAND(Pd, op_NOT_5403); + RzIlOpPure *op_MUL_5405 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_5406 = SHIFTR0(Rss, op_MUL_5405); + RzIlOpPure *op_AND_5407 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_5406, VARLP("const_pos0xff"))); + RzIlOpPure *cast_st8_5408 = CAST(32, MSB(op_AND_5407), op_AND_5407); + RzIlOpPure *op_GT = SGT(cast_st8_5408, VARL("s")); + RzIlOpPure *cast_ut64_5409 = CAST(64, IL_FALSE, op_GT); + RzIlOpPure *op_LSHIFT_5410 = SHIFTL0(cast_ut64_5409, VARL("i")); + RzIlOpPure *op_OR_5411 = LOGOR(op_AND_5404, op_LSHIFT_5410); + + // WRITE + RzIlOpEffect *empty_5399 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5400 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_5401 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_5412 = SETG(Pd_assoc, op_OR_5411); + RzIlOpEffect *empty_5413 = EMPTY(); + RzIlOpEffect *for_5414 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Pd_assoc, op_OR_5411), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_5399, for_5414); +} + +RzILOpEffect *hex_il_op_a4_vcmpbgtui(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos8 = UN(32, 8); + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + RzILOpPure *const_pos1ULL = UN(64, 1); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos0xff = UN(32, 255); + RzILOpPure *u = UN((ut32)ISA2IMM(hi, "u")) + + // EXEC + RzIlOpPure *op_LT = LET("const_pos8", const_pos8, ULT(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_LSHIFT_5418 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), VARL("i"))); + RzIlOpPure *op_NOT_5419 = LOGNOT(op_LSHIFT_5418); + RzIlOpPure *op_AND_5420 = LOGAND(Pd, op_NOT_5419); + RzIlOpPure *op_MUL_5421 = LET("const_pos8", const_pos8, MUL(VARL("i"), VARLP("const_pos8"))); + RzIlOpPure *op_RSHIFT_5422 = SHIFTR0(Rss, op_MUL_5421); + RzIlOpPure *op_AND_5423 = LET("const_pos0xff", const_pos0xff, LOGAND(op_RSHIFT_5422, VARLP("const_pos0xff"))); + RzIlOpPure *cast_ut8_5424 = CAST(32, IL_FALSE, op_AND_5423); + RzIlOpPure *op_GT = UGT(cast_ut8_5424, VARL("u")); + RzIlOpPure *cast_ut64_5425 = CAST(64, IL_FALSE, op_GT); + RzIlOpPure *op_LSHIFT_5426 = SHIFTL0(cast_ut64_5425, VARL("i")); + RzIlOpPure *op_OR_5427 = LOGOR(op_AND_5420, op_LSHIFT_5426); + + // WRITE + RzIlOpEffect *empty_5415 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5416 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_5417 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_5428 = SETG(Pd_assoc, op_OR_5427); + RzIlOpEffect *empty_5429 = EMPTY(); + RzIlOpEffect *for_5430 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Pd_assoc, op_OR_5427), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_5415, for_5430); +} + +RzILOpEffect *hex_il_op_a4_vcmpheqi(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + RzILOpPure *const_pos1ULL = UN(64, 1); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_5434 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_LSHIFT_5435 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), op_MUL_5434)); + RzIlOpPure *op_NOT_5436 = LOGNOT(op_LSHIFT_5435); + RzIlOpPure *op_AND_5437 = LOGAND(Pd, op_NOT_5436); + RzIlOpPure *op_MUL_5438 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_5439 = SHIFTR0(Rss, op_MUL_5438); + RzIlOpPure *op_AND_5440 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5439, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_5441 = CAST(32, MSB(op_AND_5440), op_AND_5440); + RzIlOpPure *op_EQ = EQ(cast_st16_5441, VARL("s")); + RzIlOpPure *cast_ut64_5442 = CAST(64, IL_FALSE, op_EQ); + RzIlOpPure *op_MUL_5443 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_LSHIFT_5444 = SHIFTL0(cast_ut64_5442, op_MUL_5443); + RzIlOpPure *op_OR_5445 = LOGOR(op_AND_5437, op_LSHIFT_5444); + RzIlOpPure *op_MUL_5448 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_ADD_5449 = LET("const_pos1", const_pos1, ADD(op_MUL_5448, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5450 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), op_ADD_5449)); + RzIlOpPure *op_NOT_5451 = LOGNOT(op_LSHIFT_5450); + RzIlOpPure *op_AND_5452 = LOGAND(DUP(Pd), op_NOT_5451); + RzIlOpPure *op_MUL_5453 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_5454 = SHIFTR0(DUP(Rss), op_MUL_5453); + RzIlOpPure *op_AND_5455 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5454, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_5456 = CAST(32, MSB(op_AND_5455), op_AND_5455); + RzIlOpPure *cast_ut64_5457 = CAST(64, IL_FALSE, op_EQ); + RzIlOpPure *op_MUL_5458 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_ADD_5459 = LET("const_pos1", const_pos1, ADD(op_MUL_5458, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5460 = SHIFTL0(cast_ut64_5457, op_ADD_5459); + RzIlOpPure *op_OR_5461 = LOGOR(op_AND_5452, op_LSHIFT_5460); + + // WRITE + RzIlOpEffect *empty_5431 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5432 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_5433 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_5446 = SETG(Pd_assoc, op_OR_5445); + RzIlOpEffect *empty_5447 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5462 = SETG(Pd_assoc, op_OR_5461); + RzIlOpEffect *empty_5463 = EMPTY(); + RzIlOpEffect *for_5464 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Pd_assoc, op_OR_5445), EMPTY(), SETG(Pd_assoc, op_OR_5461), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_5431, for_5464); +} + +RzILOpEffect *hex_il_op_a4_vcmphgti(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + RzILOpPure *const_pos1ULL = UN(64, 1); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + RzILOpPure *s = SN((st32)ISA2IMM(hi, "s")) + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_5468 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_LSHIFT_5469 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), op_MUL_5468)); + RzIlOpPure *op_NOT_5470 = LOGNOT(op_LSHIFT_5469); + RzIlOpPure *op_AND_5471 = LOGAND(Pd, op_NOT_5470); + RzIlOpPure *op_MUL_5472 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_5473 = SHIFTR0(Rss, op_MUL_5472); + RzIlOpPure *op_AND_5474 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5473, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_5475 = CAST(32, MSB(op_AND_5474), op_AND_5474); + RzIlOpPure *op_GT = SGT(cast_st16_5475, VARL("s")); + RzIlOpPure *cast_ut64_5476 = CAST(64, IL_FALSE, op_GT); + RzIlOpPure *op_MUL_5477 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_LSHIFT_5478 = SHIFTL0(cast_ut64_5476, op_MUL_5477); + RzIlOpPure *op_OR_5479 = LOGOR(op_AND_5471, op_LSHIFT_5478); + RzIlOpPure *op_MUL_5482 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_ADD_5483 = LET("const_pos1", const_pos1, ADD(op_MUL_5482, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5484 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), op_ADD_5483)); + RzIlOpPure *op_NOT_5485 = LOGNOT(op_LSHIFT_5484); + RzIlOpPure *op_AND_5486 = LOGAND(DUP(Pd), op_NOT_5485); + RzIlOpPure *op_MUL_5487 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_5488 = SHIFTR0(DUP(Rss), op_MUL_5487); + RzIlOpPure *op_AND_5489 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5488, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_5490 = CAST(32, MSB(op_AND_5489), op_AND_5489); + RzIlOpPure *cast_ut64_5491 = CAST(64, IL_FALSE, op_GT); + RzIlOpPure *op_MUL_5492 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_ADD_5493 = LET("const_pos1", const_pos1, ADD(op_MUL_5492, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5494 = SHIFTL0(cast_ut64_5491, op_ADD_5493); + RzIlOpPure *op_OR_5495 = LOGOR(op_AND_5486, op_LSHIFT_5494); + + // WRITE + RzIlOpEffect *empty_5465 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5466 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_5467 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_5480 = SETG(Pd_assoc, op_OR_5479); + RzIlOpEffect *empty_5481 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5496 = SETG(Pd_assoc, op_OR_5495); + RzIlOpEffect *empty_5497 = EMPTY(); + RzIlOpEffect *for_5498 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Pd_assoc, op_OR_5479), EMPTY(), SETG(Pd_assoc, op_OR_5495), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_5465, for_5498); +} + +RzILOpEffect *hex_il_op_a4_vcmphgtui(void *hi) { + // READ + // Declare: ut32 i; + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos4 = UN(32, 4); + const char *Pd_assoc = ISA2REG(hi, "Pd", false); + RzILOpPure *const_pos1ULL = UN(64, 1); + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + RzILOpPure *u = UN((ut32)ISA2IMM(hi, "u")) + RzILOpPure *const_pos1 = UN(32, 1); + + // EXEC + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_5502 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_LSHIFT_5503 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), op_MUL_5502)); + RzIlOpPure *op_NOT_5504 = LOGNOT(op_LSHIFT_5503); + RzIlOpPure *op_AND_5505 = LOGAND(Pd, op_NOT_5504); + RzIlOpPure *op_MUL_5506 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_5507 = SHIFTR0(Rss, op_MUL_5506); + RzIlOpPure *op_AND_5508 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5507, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_5509 = CAST(32, IL_FALSE, op_AND_5508); + RzIlOpPure *op_GT = UGT(cast_ut16_5509, VARL("u")); + RzIlOpPure *cast_ut64_5510 = CAST(64, IL_FALSE, op_GT); + RzIlOpPure *op_MUL_5511 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_LSHIFT_5512 = SHIFTL0(cast_ut64_5510, op_MUL_5511); + RzIlOpPure *op_OR_5513 = LOGOR(op_AND_5505, op_LSHIFT_5512); + RzIlOpPure *op_MUL_5516 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_ADD_5517 = LET("const_pos1", const_pos1, ADD(op_MUL_5516, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5518 = LET("const_pos1ULL", const_pos1ULL, SHIFTL0(VARLP("const_pos1ULL"), op_ADD_5517)); + RzIlOpPure *op_NOT_5519 = LOGNOT(op_LSHIFT_5518); + RzIlOpPure *op_AND_5520 = LOGAND(DUP(Pd), op_NOT_5519); + RzIlOpPure *op_MUL_5521 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_5522 = SHIFTR0(DUP(Rss), op_MUL_5521); + RzIlOpPure *op_AND_5523 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5522, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_5524 = CAST(32, IL_FALSE, op_AND_5523); + RzIlOpPure *cast_ut64_5525 = CAST(64, IL_FALSE, op_GT); + RzIlOpPure *op_MUL_5526 = LET("const_pos2", const_pos2, MUL(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_ADD_5527 = LET("const_pos1", const_pos1, ADD(op_MUL_5526, VARLP("const_pos1"))); + RzIlOpPure *op_LSHIFT_5528 = SHIFTL0(cast_ut64_5525, op_ADD_5527); + RzIlOpPure *op_OR_5529 = LOGOR(op_AND_5520, op_LSHIFT_5528); + + // WRITE + RzIlOpEffect *empty_5499 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5500 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_5501 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_5514 = SETG(Pd_assoc, op_OR_5513); + RzIlOpEffect *empty_5515 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5530 = SETG(Pd_assoc, op_OR_5529); + RzIlOpEffect *empty_5531 = EMPTY(); + RzIlOpEffect *for_5532 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(SETG(Pd_assoc, op_OR_5513), EMPTY(), SETG(Pd_assoc, op_OR_5529), EMPTY(), SETL("i", INC(VARL("i")))))); + + return SEQN(empty_5499, for_5532); +} + +RzILOpEffect *hex_il_op_a4_vcmpweqi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a4_vcmpwgti(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a4_vcmpwgtui(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a4_vrmaxh(void *hi) { + // READ + RzILOpPure *const_pos0 = UN(32, 0); + // Declare: ut64 max; + // Declare: ut64 addr; + const char *Rxx_assoc = ISA2REG(hi, "Rxx", false); + RzIlOpPure *Rxx = VARG(Rxx_assoc); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + // Declare: ut32 i; + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Ru_assoc = ISA2REG(hi, "Ru", false); + RzIlOpPure *Ru = VARG(Ru_assoc); + + // EXEC + RzIlOpPure *op_MUL_5540 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_5541 = SHIFTR0(Rxx, op_MUL_5540); + RzIlOpPure *op_AND_5542 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5541, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_5543 = CAST(16, MSB(op_AND_5542), op_AND_5542); + RzIlOpPure *op_MUL_5545 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_5546 = SHIFTR0(DUP(Rxx), op_MUL_5545); + RzIlOpPure *op_AND_5547 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5546, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_5548 = CAST(32, MSB(op_AND_5547), op_AND_5547); + RzIlOpPure *cast_st64_5549 = CAST(64, MSB(cast_st32_5548), cast_st32_5548); + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_5553 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_5554 = SHIFTR0(Rss, op_MUL_5553); + RzIlOpPure *op_AND_5555 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5554, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_5556 = CAST(16, MSB(op_AND_5555), op_AND_5555); + RzIlOpPure *op_MUL_5557 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_5558 = SHIFTR0(DUP(Rss), op_MUL_5557); + RzIlOpPure *op_AND_5559 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5558, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_5560 = CAST(16, MSB(op_AND_5559), op_AND_5559); + RzIlOpPure *op_LSHIFT_5562 = LET("const_pos1", const_pos1, SHIFTL0(VARL("i"), VARLP("const_pos1"))); + RzIlOpPure *op_OR_5563 = LOGOR(Ru, op_LSHIFT_5562); + RzIlOpPure *op_MUL_5569 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5570 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_5569)); + RzIlOpPure *op_NOT_5571 = LOGNOT(op_LSHIFT_5570); + RzIlOpPure *op_AND_5572 = LOGAND(DUP(Rxx), op_NOT_5571); + RzIlOpPure *op_AND_5573 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("max"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_5574 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5575 = SHIFTL0(op_AND_5573, op_MUL_5574); + RzIlOpPure *op_OR_5576 = LOGOR(op_AND_5572, op_LSHIFT_5575); + RzIlOpPure *op_MUL_5579 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5580 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_5579)); + RzIlOpPure *op_NOT_5581 = LOGNOT(op_LSHIFT_5580); + RzIlOpPure *op_AND_5582 = LOGAND(DUP(Rxx), op_NOT_5581); + RzIlOpPure *op_AND_5583 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("addr"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_5584 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5585 = SHIFTL0(op_AND_5583, op_MUL_5584); + RzIlOpPure *op_OR_5586 = LOGOR(op_AND_5582, op_LSHIFT_5585); + + // WRITE + RzIlOpEffect *empty_5533 = EMPTY(); + RzIlOpEffect *empty_5535 = EMPTY(); + RzIlOpEffect *empty_5537 = EMPTY(); + RzIlOpEffect *empty_5539 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5544 = SETL("max", cast_st16_5543); + RzIlOpEffect *op_ASSIGN_5550 = SETL("addr", cast_st64_5549); + RzIlOpEffect *op_ASSIGN_5551 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_5552 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_5561 = SETL("max", cast_st16_5560); + RzIlOpEffect *op_ASSIGN_5564 = SETL("addr", op_OR_5563); + RzIlOpEffect *seq_then_5565 = SEQN(op_ASSIGN_5561, op_ASSIGN_5564); + RzIlOpEffect *empty_5567 = EMPTY(); + RzIlOpEffect *branch_5566 = BRANCH(op_LT, seq_then_5565, empty_5567); + RzIlOpEffect *for_5568 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(BRANCH(op_LT, seq_then_5565, empty_5567), SETL("i", INC(VARL("i")))))); + RzIlOpEffect *op_ASSIGN_5577 = SETG(Rxx_assoc, op_OR_5576); + RzIlOpEffect *empty_5578 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5587 = SETG(Rxx_assoc, op_OR_5586); + RzIlOpEffect *empty_5588 = EMPTY(); + + return SEQN(empty_5539, max, addr, op_ASSIGN_5544, op_ASSIGN_5550, for_5568, op_ASSIGN_5577, empty_5578, op_ASSIGN_5587, empty_5588); +} + +RzILOpEffect *hex_il_op_a4_vrmaxuh(void *hi) { + // READ + // Declare: ut64 max; + // Declare: ut64 addr; + const char *Rxx_assoc = ISA2REG(hi, "Rxx", false); + RzIlOpPure *Rxx = VARG(Rxx_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + // Declare: ut32 i; + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Ru_assoc = ISA2REG(hi, "Ru", false); + RzIlOpPure *Ru = VARG(Ru_assoc); + + // EXEC + RzIlOpPure *op_MUL_5590 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_5591 = SHIFTR0(Rxx, op_MUL_5590); + RzIlOpPure *op_AND_5592 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5591, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_5593 = CAST(16, IL_FALSE, op_AND_5592); + RzIlOpPure *op_MUL_5595 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_5596 = SHIFTR0(DUP(Rxx), op_MUL_5595); + RzIlOpPure *op_AND_5597 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5596, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_5598 = CAST(32, MSB(op_AND_5597), op_AND_5597); + RzIlOpPure *cast_st64_5599 = CAST(64, MSB(cast_st32_5598), cast_st32_5598); + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_5603 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_5604 = SHIFTR0(Rss, op_MUL_5603); + RzIlOpPure *op_AND_5605 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5604, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_5606 = CAST(16, IL_FALSE, op_AND_5605); + RzIlOpPure *op_MUL_5607 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_5608 = SHIFTR0(DUP(Rss), op_MUL_5607); + RzIlOpPure *op_AND_5609 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5608, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_5610 = CAST(16, IL_FALSE, op_AND_5609); + RzIlOpPure *op_LSHIFT_5612 = LET("const_pos1", const_pos1, SHIFTL0(VARL("i"), VARLP("const_pos1"))); + RzIlOpPure *op_OR_5613 = LOGOR(Ru, op_LSHIFT_5612); + RzIlOpPure *op_MUL_5619 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5620 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_5619)); + RzIlOpPure *op_NOT_5621 = LOGNOT(op_LSHIFT_5620); + RzIlOpPure *op_AND_5622 = LOGAND(DUP(Rxx), op_NOT_5621); + RzIlOpPure *op_AND_5623 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("max"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_5624 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5625 = SHIFTL0(op_AND_5623, op_MUL_5624); + RzIlOpPure *op_OR_5626 = LOGOR(op_AND_5622, op_LSHIFT_5625); + RzIlOpPure *op_MUL_5629 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5630 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_5629)); + RzIlOpPure *op_NOT_5631 = LOGNOT(op_LSHIFT_5630); + RzIlOpPure *op_AND_5632 = LOGAND(DUP(Rxx), op_NOT_5631); + RzIlOpPure *op_AND_5633 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("addr"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_5634 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5635 = SHIFTL0(op_AND_5633, op_MUL_5634); + RzIlOpPure *op_OR_5636 = LOGOR(op_AND_5632, op_LSHIFT_5635); + + // WRITE + RzIlOpEffect *empty_5589 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5594 = SETL("max", cast_ut16_5593); + RzIlOpEffect *op_ASSIGN_5600 = SETL("addr", cast_st64_5599); + RzIlOpEffect *op_ASSIGN_5601 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_5602 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_5611 = SETL("max", cast_ut16_5610); + RzIlOpEffect *op_ASSIGN_5614 = SETL("addr", op_OR_5613); + RzIlOpEffect *seq_then_5615 = SEQN(op_ASSIGN_5611, op_ASSIGN_5614); + RzIlOpEffect *empty_5617 = EMPTY(); + RzIlOpEffect *branch_5616 = BRANCH(op_LT, seq_then_5615, empty_5617); + RzIlOpEffect *for_5618 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(BRANCH(op_LT, seq_then_5615, empty_5617), SETL("i", INC(VARL("i")))))); + RzIlOpEffect *op_ASSIGN_5627 = SETG(Rxx_assoc, op_OR_5626); + RzIlOpEffect *empty_5628 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5637 = SETG(Rxx_assoc, op_OR_5636); + RzIlOpEffect *empty_5638 = EMPTY(); + + return SEQN(empty_5589, max, addr, op_ASSIGN_5594, op_ASSIGN_5600, for_5618, op_ASSIGN_5627, empty_5628, op_ASSIGN_5637, empty_5638); +} + +RzILOpEffect *hex_il_op_a4_vrmaxuw(void *hi) { + // READ + // Declare: ut64 max; + // Declare: ut64 addr; + const char *Rxx_assoc = ISA2REG(hi, "Rxx", false); + RzIlOpPure *Rxx = VARG(Rxx_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos1 = UN(32, 1); + // Declare: ut32 i; + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Ru_assoc = ISA2REG(hi, "Ru", false); + RzIlOpPure *Ru = VARG(Ru_assoc); + + // EXEC + RzIlOpPure *op_MUL_5640 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_5641 = SHIFTR0(Rxx, op_MUL_5640); + RzIlOpPure *op_AND_5642 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5641, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_5643 = CAST(32, IL_FALSE, op_AND_5642); + RzIlOpPure *cast_ut64_5644 = CAST(64, IL_FALSE, cast_ut32_5643); + RzIlOpPure *op_MUL_5646 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_5647 = SHIFTR0(DUP(Rxx), op_MUL_5646); + RzIlOpPure *op_AND_5648 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5647, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_5649 = CAST(32, MSB(op_AND_5648), op_AND_5648); + RzIlOpPure *cast_st64_5650 = CAST(64, MSB(cast_st32_5649), cast_st32_5649); + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_5654 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_5655 = SHIFTR0(Rss, op_MUL_5654); + RzIlOpPure *op_AND_5656 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5655, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_5657 = CAST(32, IL_FALSE, op_AND_5656); + RzIlOpPure *cast_ut64_5658 = CAST(64, IL_FALSE, cast_ut32_5657); + RzIlOpPure *op_MUL_5659 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_5660 = SHIFTR0(DUP(Rss), op_MUL_5659); + RzIlOpPure *op_AND_5661 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5660, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_5662 = CAST(32, IL_FALSE, op_AND_5661); + RzIlOpPure *cast_ut64_5663 = CAST(64, IL_FALSE, cast_ut32_5662); + RzIlOpPure *op_LSHIFT_5665 = LET("const_pos2", const_pos2, SHIFTL0(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_OR_5666 = LOGOR(Ru, op_LSHIFT_5665); + RzIlOpPure *op_MUL_5672 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5673 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_5672)); + RzIlOpPure *op_NOT_5674 = LOGNOT(op_LSHIFT_5673); + RzIlOpPure *op_AND_5675 = LOGAND(DUP(Rxx), op_NOT_5674); + RzIlOpPure *op_AND_5676 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("max"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_5677 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5678 = SHIFTL0(op_AND_5676, op_MUL_5677); + RzIlOpPure *op_OR_5679 = LOGOR(op_AND_5675, op_LSHIFT_5678); + RzIlOpPure *op_MUL_5682 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5683 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_5682)); + RzIlOpPure *op_NOT_5684 = LOGNOT(op_LSHIFT_5683); + RzIlOpPure *op_AND_5685 = LOGAND(DUP(Rxx), op_NOT_5684); + RzIlOpPure *op_AND_5686 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("addr"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_5687 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5688 = SHIFTL0(op_AND_5686, op_MUL_5687); + RzIlOpPure *op_OR_5689 = LOGOR(op_AND_5685, op_LSHIFT_5688); + + // WRITE + RzIlOpEffect *empty_5639 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5645 = SETL("max", cast_ut64_5644); + RzIlOpEffect *op_ASSIGN_5651 = SETL("addr", cast_st64_5650); + RzIlOpEffect *op_ASSIGN_5652 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_5653 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_5664 = SETL("max", cast_ut64_5663); + RzIlOpEffect *op_ASSIGN_5667 = SETL("addr", op_OR_5666); + RzIlOpEffect *seq_then_5668 = SEQN(op_ASSIGN_5664, op_ASSIGN_5667); + RzIlOpEffect *empty_5670 = EMPTY(); + RzIlOpEffect *branch_5669 = BRANCH(op_LT, seq_then_5668, empty_5670); + RzIlOpEffect *for_5671 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(BRANCH(op_LT, seq_then_5668, empty_5670), SETL("i", INC(VARL("i")))))); + RzIlOpEffect *op_ASSIGN_5680 = SETG(Rxx_assoc, op_OR_5679); + RzIlOpEffect *empty_5681 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5690 = SETG(Rxx_assoc, op_OR_5689); + RzIlOpEffect *empty_5691 = EMPTY(); + + return SEQN(empty_5639, max, addr, op_ASSIGN_5645, op_ASSIGN_5651, for_5671, op_ASSIGN_5680, empty_5681, op_ASSIGN_5690, empty_5691); +} + +RzILOpEffect *hex_il_op_a4_vrmaxw(void *hi) { + // READ + // Declare: ut64 max; + // Declare: ut64 addr; + const char *Rxx_assoc = ISA2REG(hi, "Rxx", false); + RzIlOpPure *Rxx = VARG(Rxx_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos1 = UN(32, 1); + // Declare: ut32 i; + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Ru_assoc = ISA2REG(hi, "Ru", false); + RzIlOpPure *Ru = VARG(Ru_assoc); + + // EXEC + RzIlOpPure *op_MUL_5693 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_5694 = SHIFTR0(Rxx, op_MUL_5693); + RzIlOpPure *op_AND_5695 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5694, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_5696 = CAST(32, MSB(op_AND_5695), op_AND_5695); + RzIlOpPure *cast_st64_5697 = CAST(64, MSB(cast_st32_5696), cast_st32_5696); + RzIlOpPure *op_MUL_5699 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_5700 = SHIFTR0(DUP(Rxx), op_MUL_5699); + RzIlOpPure *op_AND_5701 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5700, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_5702 = CAST(32, MSB(op_AND_5701), op_AND_5701); + RzIlOpPure *cast_st64_5703 = CAST(64, MSB(cast_st32_5702), cast_st32_5702); + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_5707 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_5708 = SHIFTR0(Rss, op_MUL_5707); + RzIlOpPure *op_AND_5709 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5708, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_5710 = CAST(32, MSB(op_AND_5709), op_AND_5709); + RzIlOpPure *cast_st64_5711 = CAST(64, MSB(cast_st32_5710), cast_st32_5710); + RzIlOpPure *op_MUL_5712 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_5713 = SHIFTR0(DUP(Rss), op_MUL_5712); + RzIlOpPure *op_AND_5714 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5713, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_5715 = CAST(32, MSB(op_AND_5714), op_AND_5714); + RzIlOpPure *cast_st64_5716 = CAST(64, MSB(cast_st32_5715), cast_st32_5715); + RzIlOpPure *op_LSHIFT_5718 = LET("const_pos2", const_pos2, SHIFTL0(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_OR_5719 = LOGOR(Ru, op_LSHIFT_5718); + RzIlOpPure *op_MUL_5725 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5726 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_5725)); + RzIlOpPure *op_NOT_5727 = LOGNOT(op_LSHIFT_5726); + RzIlOpPure *op_AND_5728 = LOGAND(DUP(Rxx), op_NOT_5727); + RzIlOpPure *op_AND_5729 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("max"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_5730 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5731 = SHIFTL0(op_AND_5729, op_MUL_5730); + RzIlOpPure *op_OR_5732 = LOGOR(op_AND_5728, op_LSHIFT_5731); + RzIlOpPure *op_MUL_5735 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5736 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_5735)); + RzIlOpPure *op_NOT_5737 = LOGNOT(op_LSHIFT_5736); + RzIlOpPure *op_AND_5738 = LOGAND(DUP(Rxx), op_NOT_5737); + RzIlOpPure *op_AND_5739 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("addr"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_5740 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5741 = SHIFTL0(op_AND_5739, op_MUL_5740); + RzIlOpPure *op_OR_5742 = LOGOR(op_AND_5738, op_LSHIFT_5741); + + // WRITE + RzIlOpEffect *empty_5692 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5698 = SETL("max", cast_st64_5697); + RzIlOpEffect *op_ASSIGN_5704 = SETL("addr", cast_st64_5703); + RzIlOpEffect *op_ASSIGN_5705 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_5706 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_5717 = SETL("max", cast_st64_5716); + RzIlOpEffect *op_ASSIGN_5720 = SETL("addr", op_OR_5719); + RzIlOpEffect *seq_then_5721 = SEQN(op_ASSIGN_5717, op_ASSIGN_5720); + RzIlOpEffect *empty_5723 = EMPTY(); + RzIlOpEffect *branch_5722 = BRANCH(op_LT, seq_then_5721, empty_5723); + RzIlOpEffect *for_5724 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(BRANCH(op_LT, seq_then_5721, empty_5723), SETL("i", INC(VARL("i")))))); + RzIlOpEffect *op_ASSIGN_5733 = SETG(Rxx_assoc, op_OR_5732); + RzIlOpEffect *empty_5734 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5743 = SETG(Rxx_assoc, op_OR_5742); + RzIlOpEffect *empty_5744 = EMPTY(); + + return SEQN(empty_5692, max, addr, op_ASSIGN_5698, op_ASSIGN_5704, for_5724, op_ASSIGN_5733, empty_5734, op_ASSIGN_5743, empty_5744); +} + +RzILOpEffect *hex_il_op_a4_vrminh(void *hi) { + // READ + // Declare: ut64 min; + // Declare: ut64 addr; + const char *Rxx_assoc = ISA2REG(hi, "Rxx", false); + RzIlOpPure *Rxx = VARG(Rxx_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + // Declare: ut32 i; + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Ru_assoc = ISA2REG(hi, "Ru", false); + RzIlOpPure *Ru = VARG(Ru_assoc); + + // EXEC + RzIlOpPure *op_MUL_5746 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_5747 = SHIFTR0(Rxx, op_MUL_5746); + RzIlOpPure *op_AND_5748 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5747, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_5749 = CAST(16, MSB(op_AND_5748), op_AND_5748); + RzIlOpPure *op_MUL_5751 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_5752 = SHIFTR0(DUP(Rxx), op_MUL_5751); + RzIlOpPure *op_AND_5753 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5752, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_5754 = CAST(32, MSB(op_AND_5753), op_AND_5753); + RzIlOpPure *cast_st64_5755 = CAST(64, MSB(cast_st32_5754), cast_st32_5754); + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_5759 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_5760 = SHIFTR0(Rss, op_MUL_5759); + RzIlOpPure *op_AND_5761 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5760, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_5762 = CAST(16, MSB(op_AND_5761), op_AND_5761); + RzIlOpPure *op_GT = UGT(VARL("min"), cast_st16_5762); + RzIlOpPure *op_MUL_5763 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_5764 = SHIFTR0(DUP(Rss), op_MUL_5763); + RzIlOpPure *op_AND_5765 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5764, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_st16_5766 = CAST(16, MSB(op_AND_5765), op_AND_5765); + RzIlOpPure *op_LSHIFT_5768 = LET("const_pos1", const_pos1, SHIFTL0(VARL("i"), VARLP("const_pos1"))); + RzIlOpPure *op_OR_5769 = LOGOR(Ru, op_LSHIFT_5768); + RzIlOpPure *op_MUL_5775 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5776 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_5775)); + RzIlOpPure *op_NOT_5777 = LOGNOT(op_LSHIFT_5776); + RzIlOpPure *op_AND_5778 = LOGAND(DUP(Rxx), op_NOT_5777); + RzIlOpPure *op_AND_5779 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("min"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_5780 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5781 = SHIFTL0(op_AND_5779, op_MUL_5780); + RzIlOpPure *op_OR_5782 = LOGOR(op_AND_5778, op_LSHIFT_5781); + RzIlOpPure *op_MUL_5785 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5786 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_5785)); + RzIlOpPure *op_NOT_5787 = LOGNOT(op_LSHIFT_5786); + RzIlOpPure *op_AND_5788 = LOGAND(DUP(Rxx), op_NOT_5787); + RzIlOpPure *op_AND_5789 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("addr"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_5790 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5791 = SHIFTL0(op_AND_5789, op_MUL_5790); + RzIlOpPure *op_OR_5792 = LOGOR(op_AND_5788, op_LSHIFT_5791); + + // WRITE + RzIlOpEffect *empty_5745 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5750 = SETL("min", cast_st16_5749); + RzIlOpEffect *op_ASSIGN_5756 = SETL("addr", cast_st64_5755); + RzIlOpEffect *op_ASSIGN_5757 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_5758 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_5767 = SETL("min", cast_st16_5766); + RzIlOpEffect *op_ASSIGN_5770 = SETL("addr", op_OR_5769); + RzIlOpEffect *seq_then_5771 = SEQN(op_ASSIGN_5767, op_ASSIGN_5770); + RzIlOpEffect *empty_5773 = EMPTY(); + RzIlOpEffect *branch_5772 = BRANCH(op_GT, seq_then_5771, empty_5773); + RzIlOpEffect *for_5774 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(BRANCH(op_GT, seq_then_5771, empty_5773), SETL("i", INC(VARL("i")))))); + RzIlOpEffect *op_ASSIGN_5783 = SETG(Rxx_assoc, op_OR_5782); + RzIlOpEffect *empty_5784 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5793 = SETG(Rxx_assoc, op_OR_5792); + RzIlOpEffect *empty_5794 = EMPTY(); + + return SEQN(empty_5745, min, addr, op_ASSIGN_5750, op_ASSIGN_5756, for_5774, op_ASSIGN_5783, empty_5784, op_ASSIGN_5793, empty_5794); +} + +RzILOpEffect *hex_il_op_a4_vrminuh(void *hi) { + // READ + // Declare: ut64 min; + // Declare: ut64 addr; + const char *Rxx_assoc = ISA2REG(hi, "Rxx", false); + RzIlOpPure *Rxx = VARG(Rxx_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos16 = UN(32, 16); + RzILOpPure *const_pos0xffff = UN(32, 65535); + RzILOpPure *const_pos1 = UN(32, 1); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + // Declare: ut32 i; + RzILOpPure *const_pos4 = UN(32, 4); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Ru_assoc = ISA2REG(hi, "Ru", false); + RzIlOpPure *Ru = VARG(Ru_assoc); + + // EXEC + RzIlOpPure *op_MUL_5796 = LET("const_pos0", const_pos0, LET("const_pos16", const_pos16, MUL(VARLP("const_pos0"), VARLP("const_pos16")))); + RzIlOpPure *op_RSHIFT_5797 = SHIFTR0(Rxx, op_MUL_5796); + RzIlOpPure *op_AND_5798 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5797, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_5799 = CAST(16, IL_FALSE, op_AND_5798); + RzIlOpPure *op_MUL_5801 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_5802 = SHIFTR0(DUP(Rxx), op_MUL_5801); + RzIlOpPure *op_AND_5803 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5802, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_5804 = CAST(32, MSB(op_AND_5803), op_AND_5803); + RzIlOpPure *cast_st64_5805 = CAST(64, MSB(cast_st32_5804), cast_st32_5804); + RzIlOpPure *op_LT = LET("const_pos4", const_pos4, ULT(VARL("i"), VARLP("const_pos4"))); + RzIlOpPure *op_MUL_5809 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_5810 = SHIFTR0(Rss, op_MUL_5809); + RzIlOpPure *op_AND_5811 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5810, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_5812 = CAST(16, IL_FALSE, op_AND_5811); + RzIlOpPure *op_GT = UGT(VARL("min"), cast_ut16_5812); + RzIlOpPure *op_MUL_5813 = LET("const_pos16", const_pos16, MUL(VARL("i"), VARLP("const_pos16"))); + RzIlOpPure *op_RSHIFT_5814 = SHIFTR0(DUP(Rss), op_MUL_5813); + RzIlOpPure *op_AND_5815 = LET("const_pos0xffff", const_pos0xffff, LOGAND(op_RSHIFT_5814, VARLP("const_pos0xffff"))); + RzIlOpPure *cast_ut16_5816 = CAST(16, IL_FALSE, op_AND_5815); + RzIlOpPure *op_LSHIFT_5818 = LET("const_pos1", const_pos1, SHIFTL0(VARL("i"), VARLP("const_pos1"))); + RzIlOpPure *op_OR_5819 = LOGOR(Ru, op_LSHIFT_5818); + RzIlOpPure *op_MUL_5825 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5826 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_5825)); + RzIlOpPure *op_NOT_5827 = LOGNOT(op_LSHIFT_5826); + RzIlOpPure *op_AND_5828 = LOGAND(DUP(Rxx), op_NOT_5827); + RzIlOpPure *op_AND_5829 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("min"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_5830 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5831 = SHIFTL0(op_AND_5829, op_MUL_5830); + RzIlOpPure *op_OR_5832 = LOGOR(op_AND_5828, op_LSHIFT_5831); + RzIlOpPure *op_MUL_5835 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5836 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_5835)); + RzIlOpPure *op_NOT_5837 = LOGNOT(op_LSHIFT_5836); + RzIlOpPure *op_AND_5838 = LOGAND(DUP(Rxx), op_NOT_5837); + RzIlOpPure *op_AND_5839 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("addr"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_5840 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5841 = SHIFTL0(op_AND_5839, op_MUL_5840); + RzIlOpPure *op_OR_5842 = LOGOR(op_AND_5838, op_LSHIFT_5841); + + // WRITE + RzIlOpEffect *empty_5795 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5800 = SETL("min", cast_ut16_5799); + RzIlOpEffect *op_ASSIGN_5806 = SETL("addr", cast_st64_5805); + RzIlOpEffect *op_ASSIGN_5807 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_5808 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_5817 = SETL("min", cast_ut16_5816); + RzIlOpEffect *op_ASSIGN_5820 = SETL("addr", op_OR_5819); + RzIlOpEffect *seq_then_5821 = SEQN(op_ASSIGN_5817, op_ASSIGN_5820); + RzIlOpEffect *empty_5823 = EMPTY(); + RzIlOpEffect *branch_5822 = BRANCH(op_GT, seq_then_5821, empty_5823); + RzIlOpEffect *for_5824 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(BRANCH(op_GT, seq_then_5821, empty_5823), SETL("i", INC(VARL("i")))))); + RzIlOpEffect *op_ASSIGN_5833 = SETG(Rxx_assoc, op_OR_5832); + RzIlOpEffect *empty_5834 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5843 = SETG(Rxx_assoc, op_OR_5842); + RzIlOpEffect *empty_5844 = EMPTY(); + + return SEQN(empty_5795, min, addr, op_ASSIGN_5800, op_ASSIGN_5806, for_5824, op_ASSIGN_5833, empty_5834, op_ASSIGN_5843, empty_5844); +} + +RzILOpEffect *hex_il_op_a4_vrminuw(void *hi) { + // READ + // Declare: ut64 min; + // Declare: ut64 addr; + const char *Rxx_assoc = ISA2REG(hi, "Rxx", false); + RzIlOpPure *Rxx = VARG(Rxx_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos1 = UN(32, 1); + // Declare: ut32 i; + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Ru_assoc = ISA2REG(hi, "Ru", false); + RzIlOpPure *Ru = VARG(Ru_assoc); + + // EXEC + RzIlOpPure *op_MUL_5846 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_5847 = SHIFTR0(Rxx, op_MUL_5846); + RzIlOpPure *op_AND_5848 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5847, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_5849 = CAST(32, IL_FALSE, op_AND_5848); + RzIlOpPure *cast_ut64_5850 = CAST(64, IL_FALSE, cast_ut32_5849); + RzIlOpPure *op_MUL_5852 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_5853 = SHIFTR0(DUP(Rxx), op_MUL_5852); + RzIlOpPure *op_AND_5854 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5853, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_5855 = CAST(32, MSB(op_AND_5854), op_AND_5854); + RzIlOpPure *cast_st64_5856 = CAST(64, MSB(cast_st32_5855), cast_st32_5855); + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_5860 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_5861 = SHIFTR0(Rss, op_MUL_5860); + RzIlOpPure *op_AND_5862 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5861, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_5863 = CAST(32, IL_FALSE, op_AND_5862); + RzIlOpPure *cast_ut64_5864 = CAST(64, IL_FALSE, cast_ut32_5863); + RzIlOpPure *op_GT = UGT(VARL("min"), cast_ut64_5864); + RzIlOpPure *op_MUL_5865 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_5866 = SHIFTR0(DUP(Rss), op_MUL_5865); + RzIlOpPure *op_AND_5867 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5866, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_ut32_5868 = CAST(32, IL_FALSE, op_AND_5867); + RzIlOpPure *cast_ut64_5869 = CAST(64, IL_FALSE, cast_ut32_5868); + RzIlOpPure *op_LSHIFT_5871 = LET("const_pos2", const_pos2, SHIFTL0(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_OR_5872 = LOGOR(Ru, op_LSHIFT_5871); + RzIlOpPure *op_MUL_5878 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5879 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_5878)); + RzIlOpPure *op_NOT_5880 = LOGNOT(op_LSHIFT_5879); + RzIlOpPure *op_AND_5881 = LOGAND(DUP(Rxx), op_NOT_5880); + RzIlOpPure *op_AND_5882 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("min"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_5883 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5884 = SHIFTL0(op_AND_5882, op_MUL_5883); + RzIlOpPure *op_OR_5885 = LOGOR(op_AND_5881, op_LSHIFT_5884); + RzIlOpPure *op_MUL_5888 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5889 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_5888)); + RzIlOpPure *op_NOT_5890 = LOGNOT(op_LSHIFT_5889); + RzIlOpPure *op_AND_5891 = LOGAND(DUP(Rxx), op_NOT_5890); + RzIlOpPure *op_AND_5892 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("addr"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_5893 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5894 = SHIFTL0(op_AND_5892, op_MUL_5893); + RzIlOpPure *op_OR_5895 = LOGOR(op_AND_5891, op_LSHIFT_5894); + + // WRITE + RzIlOpEffect *empty_5845 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5851 = SETL("min", cast_ut64_5850); + RzIlOpEffect *op_ASSIGN_5857 = SETL("addr", cast_st64_5856); + RzIlOpEffect *op_ASSIGN_5858 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_5859 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_5870 = SETL("min", cast_ut64_5869); + RzIlOpEffect *op_ASSIGN_5873 = SETL("addr", op_OR_5872); + RzIlOpEffect *seq_then_5874 = SEQN(op_ASSIGN_5870, op_ASSIGN_5873); + RzIlOpEffect *empty_5876 = EMPTY(); + RzIlOpEffect *branch_5875 = BRANCH(op_GT, seq_then_5874, empty_5876); + RzIlOpEffect *for_5877 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(BRANCH(op_GT, seq_then_5874, empty_5876), SETL("i", INC(VARL("i")))))); + RzIlOpEffect *op_ASSIGN_5886 = SETG(Rxx_assoc, op_OR_5885); + RzIlOpEffect *empty_5887 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5896 = SETG(Rxx_assoc, op_OR_5895); + RzIlOpEffect *empty_5897 = EMPTY(); + + return SEQN(empty_5845, min, addr, op_ASSIGN_5851, op_ASSIGN_5857, for_5877, op_ASSIGN_5886, empty_5887, op_ASSIGN_5896, empty_5897); +} + +RzILOpEffect *hex_il_op_a4_vrminw(void *hi) { + // READ + // Declare: ut64 min; + // Declare: ut64 addr; + const char *Rxx_assoc = ISA2REG(hi, "Rxx", false); + RzIlOpPure *Rxx = VARG(Rxx_assoc); + RzILOpPure *const_pos0 = UN(32, 0); + RzILOpPure *const_pos32 = UN(32, 32); + RzILOpPure *const_pos0x0ffffffffLL = UN(64, 4294967295); + RzILOpPure *const_pos1 = UN(32, 1); + // Declare: ut32 i; + RzILOpPure *const_pos2 = UN(32, 2); + const char *Rss_assoc = ISA2REG(hi, "Rss", false); + RzIlOpPure *Rss = VARG(Rss_assoc); + const char *Ru_assoc = ISA2REG(hi, "Ru", false); + RzIlOpPure *Ru = VARG(Ru_assoc); + + // EXEC + RzIlOpPure *op_MUL_5899 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_5900 = SHIFTR0(Rxx, op_MUL_5899); + RzIlOpPure *op_AND_5901 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5900, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_5902 = CAST(32, MSB(op_AND_5901), op_AND_5901); + RzIlOpPure *cast_st64_5903 = CAST(64, MSB(cast_st32_5902), cast_st32_5902); + RzIlOpPure *op_MUL_5905 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_RSHIFT_5906 = SHIFTR0(DUP(Rxx), op_MUL_5905); + RzIlOpPure *op_AND_5907 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5906, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_5908 = CAST(32, MSB(op_AND_5907), op_AND_5907); + RzIlOpPure *cast_st64_5909 = CAST(64, MSB(cast_st32_5908), cast_st32_5908); + RzIlOpPure *op_LT = LET("const_pos2", const_pos2, ULT(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_MUL_5913 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_5914 = SHIFTR0(Rss, op_MUL_5913); + RzIlOpPure *op_AND_5915 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5914, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_5916 = CAST(32, MSB(op_AND_5915), op_AND_5915); + RzIlOpPure *cast_st64_5917 = CAST(64, MSB(cast_st32_5916), cast_st32_5916); + RzIlOpPure *op_GT = UGT(VARL("min"), cast_st64_5917); + RzIlOpPure *op_MUL_5918 = LET("const_pos32", const_pos32, MUL(VARL("i"), VARLP("const_pos32"))); + RzIlOpPure *op_RSHIFT_5919 = SHIFTR0(DUP(Rss), op_MUL_5918); + RzIlOpPure *op_AND_5920 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(op_RSHIFT_5919, VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *cast_st32_5921 = CAST(32, MSB(op_AND_5920), op_AND_5920); + RzIlOpPure *cast_st64_5922 = CAST(64, MSB(cast_st32_5921), cast_st32_5921); + RzIlOpPure *op_LSHIFT_5924 = LET("const_pos2", const_pos2, SHIFTL0(VARL("i"), VARLP("const_pos2"))); + RzIlOpPure *op_OR_5925 = LOGOR(Ru, op_LSHIFT_5924); + RzIlOpPure *op_MUL_5931 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5932 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_5931)); + RzIlOpPure *op_NOT_5933 = LOGNOT(op_LSHIFT_5932); + RzIlOpPure *op_AND_5934 = LOGAND(DUP(Rxx), op_NOT_5933); + RzIlOpPure *op_AND_5935 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("min"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_5936 = LET("const_pos0", const_pos0, LET("const_pos32", const_pos32, MUL(VARLP("const_pos0"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5937 = SHIFTL0(op_AND_5935, op_MUL_5936); + RzIlOpPure *op_OR_5938 = LOGOR(op_AND_5934, op_LSHIFT_5937); + RzIlOpPure *op_MUL_5941 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5942 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, SHIFTL0(VARLP("const_pos0x0ffffffffLL"), op_MUL_5941)); + RzIlOpPure *op_NOT_5943 = LOGNOT(op_LSHIFT_5942); + RzIlOpPure *op_AND_5944 = LOGAND(DUP(Rxx), op_NOT_5943); + RzIlOpPure *op_AND_5945 = LET("const_pos0x0ffffffffLL", const_pos0x0ffffffffLL, LOGAND(VARL("addr"), VARLP("const_pos0x0ffffffffLL"))); + RzIlOpPure *op_MUL_5946 = LET("const_pos1", const_pos1, LET("const_pos32", const_pos32, MUL(VARLP("const_pos1"), VARLP("const_pos32")))); + RzIlOpPure *op_LSHIFT_5947 = SHIFTL0(op_AND_5945, op_MUL_5946); + RzIlOpPure *op_OR_5948 = LOGOR(op_AND_5944, op_LSHIFT_5947); + + // WRITE + RzIlOpEffect *empty_5898 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5904 = SETL("min", cast_st64_5903); + RzIlOpEffect *op_ASSIGN_5910 = SETL("addr", cast_st64_5909); + RzIlOpEffect *op_ASSIGN_5911 = SETL("i", const_pos0); + RzIlOpEffect *op_INC_5912 = SETL("i", INC(VARL("i"))); + RzIlOpEffect *op_ASSIGN_5923 = SETL("min", cast_st64_5922); + RzIlOpEffect *op_ASSIGN_5926 = SETL("addr", op_OR_5925); + RzIlOpEffect *seq_then_5927 = SEQN(op_ASSIGN_5923, op_ASSIGN_5926); + RzIlOpEffect *empty_5929 = EMPTY(); + RzIlOpEffect *branch_5928 = BRANCH(op_GT, seq_then_5927, empty_5929); + RzIlOpEffect *for_5930 = SEQ2(SETL("i", const_pos0), + REPEAT(op_LT, + SEQN(BRANCH(op_GT, seq_then_5927, empty_5929), SETL("i", INC(VARL("i")))))); + RzIlOpEffect *op_ASSIGN_5939 = SETG(Rxx_assoc, op_OR_5938); + RzIlOpEffect *empty_5940 = EMPTY(); + RzIlOpEffect *op_ASSIGN_5949 = SETG(Rxx_assoc, op_OR_5948); + RzIlOpEffect *empty_5950 = EMPTY(); + + return SEQN(empty_5898, min, addr, op_ASSIGN_5904, op_ASSIGN_5910, for_5930, op_ASSIGN_5939, empty_5940, op_ASSIGN_5949, empty_5950); +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_A5_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_A5_ops.c new file mode 100644 index 00000000..a196ca43 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_A5_ops.c @@ -0,0 +1,31 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_a5_acs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a5_vaddhubs(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_A6_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_A6_ops.c new file mode 100644 index 00000000..5817ee21 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_A6_ops.c @@ -0,0 +1,31 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_a6_vcmpbeq_notany(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a6_vminub_rdp(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_A7_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_A7_ops.c new file mode 100644 index 00000000..33093f64 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_A7_ops.c @@ -0,0 +1,39 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_a7_clip(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a7_croundd_ri(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a7_croundd_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_a7_vclip(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_C2_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_C2_ops.c new file mode 100644 index 00000000..050e248a --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_C2_ops.c @@ -0,0 +1,171 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_c2_all8(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_andn(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_any8(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_bitsclr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_bitsclri(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_bitsset(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_ccombinewf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_ccombinewnewf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_ccombinewnewt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_ccombinewt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_cmoveif(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_cmoveit(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_cmovenewif(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_cmovenewit(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_cmpeq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_cmpeqi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_cmpeqp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_cmpgt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_cmpgti(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_cmpgtp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_cmpgtu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_cmpgtui(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_cmpgtup(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_mask(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_mux(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_muxii(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_muxir(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_muxri(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_not(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_orn(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_tfrpr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_tfrrp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_vitpack(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_vmux(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c2_xor(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_C4_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_C4_ops.c new file mode 100644 index 00000000..8d460c51 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_C4_ops.c @@ -0,0 +1,103 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_c4_addipc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_and_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_and_andn(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_and_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_and_orn(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_cmplte(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_cmpltei(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_cmplteu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_cmplteui(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_cmpneq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_cmpneqi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_fastcorner9(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_fastcorner9_not(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_nbitsclr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_nbitsclri(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_nbitsset(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_or_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_or_andn(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_or_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_c4_or_orn(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_F2_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_F2_ops.c new file mode 100644 index 00000000..afc41e60 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_F2_ops.c @@ -0,0 +1,275 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_f2_conv_d2df(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_d2sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_df2d(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_df2d_chop(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_df2sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_df2ud(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_df2ud_chop(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_df2uw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_df2uw_chop(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_df2w(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_df2w_chop(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_sf2d(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_sf2d_chop(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_sf2df(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_sf2ud(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_sf2ud_chop(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_sf2uw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_sf2uw_chop(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_sf2w(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_sf2w_chop(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_ud2df(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_ud2sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_uw2df(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_uw2sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_w2df(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_conv_w2sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_dfadd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_dfclass(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_dfcmpeq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_dfcmpge(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_dfcmpgt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_dfcmpuo(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_dfimm_n(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_dfimm_p(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_dfmax(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_dfmin(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_dfmpyfix(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_dfmpyhh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_dfmpylh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_dfmpyll(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_dfsub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sfadd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sfclass(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sfcmpeq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sfcmpge(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sfcmpgt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sfcmpuo(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sffixupd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sffixupn(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sffixupr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sffma(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sffma_lib(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sffma_sc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sffms(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sffms_lib(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sfimm_n(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sfimm_p(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sfinvsqrta(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sfmax(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sfmin(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sfmpy(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sfrecipa(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_f2_sfsub(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_G4_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_G4_ops.c new file mode 100644 index 00000000..60d6547e --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_G4_ops.c @@ -0,0 +1,39 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_g4_tfrgcpp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_g4_tfrgcrr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_g4_tfrgpcp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_g4_tfrgrcr(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_IMPORTED_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_IMPORTED_ops.c new file mode 100644 index 00000000..cd764a4b --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_IMPORTED_ops.c @@ -0,0 +1,251 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_imported_pd_l2locka_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_rd_ss(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_rd_ctlbw_rss_rt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_rd_dctagr_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_rd_getimask_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_rd_iassignr_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_rd_icdatar_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_rd_ictagr_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_rd_l2tagr_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_rd_memw_phys_rs_rt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_rd_tlboc_rss(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_rd_tlbp_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_rdd_sss(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_rdd_tlbr_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_sd_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_sdd_rss(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_ciad_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_crswap_rx_sgp0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_crswap_rx_sgp1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_crswap_rxx_sgp1_0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_cswi_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_dccleanidx_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_dccleaninvidx_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_dcinvidx_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_dckill(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_dctagw_rs_rt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_iassignw_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_icdataw_rs_rt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_icinvidx_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_ickill(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_ictagw_rs_rt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_k0lock(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_k0unlock(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_l2cleanidx_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_l2cleaninvidx_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_l2gclean(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_l2gclean_rtt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_l2gcleaninv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_l2gcleaninv_rtt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_l2gunlock(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_l2invidx_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_l2kill(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_l2tagw_rs_rt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_l2unlocka_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_nmi_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_resume_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_rte(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_setimask_pt_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_setprio_pt_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_siad_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_start_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_stop_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_swi_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_tlbinvasid_rs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_tlblock(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_tlbunlock(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_imported_tlbw_rss_rt(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_J2_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_J2_ops.c new file mode 100644 index 00000000..41dda418 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_J2_ops.c @@ -0,0 +1,203 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_j2_call(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_callf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_callr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_callrf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_callrt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_callt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jump(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumpf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumpfnew(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumpfnewpt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumpfpt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumpr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumprf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumprfnew(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumprfnewpt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumprfpt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumprgtez(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumprgtezpt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumprltez(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumprltezpt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumprnz(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumprnzpt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumprt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumprtnew(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumprtnewpt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumprtpt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumprz(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumprzpt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumpt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumptnew(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumptnewpt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_jumptpt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_loop0i(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_loop0r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_loop1i(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_loop1r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_pause(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_ploop1si(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_ploop1sr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_ploop2si(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_ploop2sr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_ploop3si(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_ploop3sr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_trap0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j2_trap1(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_J4_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_J4_ops.c new file mode 100644 index 00000000..caccc971 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_J4_ops.c @@ -0,0 +1,499 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_j4_cmpeq_f_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeq_f_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeq_fp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeq_fp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeq_fp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeq_fp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeq_t_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeq_t_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeq_tp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeq_tp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeq_tp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeq_tp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqi_f_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqi_f_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqi_fp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqi_fp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqi_fp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqi_fp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqi_t_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqi_t_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqi_tp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqi_tp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqi_tp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqi_tp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqn1_f_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqn1_f_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqn1_fp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqn1_fp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqn1_fp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqn1_fp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqn1_t_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqn1_t_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqn1_tp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqn1_tp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqn1_tp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpeqn1_tp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgt_f_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgt_f_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgt_fp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgt_fp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgt_fp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgt_fp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgt_t_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgt_t_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgt_tp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgt_tp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgt_tp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgt_tp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgti_f_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgti_f_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgti_fp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgti_fp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgti_fp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgti_fp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgti_t_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgti_t_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgti_tp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgti_tp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgti_tp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgti_tp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtn1_f_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtn1_f_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtn1_fp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtn1_fp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtn1_fp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtn1_fp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtn1_t_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtn1_t_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtn1_tp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtn1_tp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtn1_tp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtn1_tp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtu_f_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtu_f_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtu_fp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtu_fp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtu_fp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtu_fp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtu_t_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtu_t_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtu_tp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtu_tp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtu_tp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtu_tp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtui_f_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtui_f_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtui_fp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtui_fp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtui_fp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtui_fp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtui_t_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtui_t_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtui_tp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtui_tp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtui_tp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpgtui_tp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmplt_f_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmplt_f_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmplt_t_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmplt_t_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpltu_f_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpltu_f_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpltu_t_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_cmpltu_t_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_hintjumpr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_jumpseti(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_jumpsetr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_tstbit0_f_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_tstbit0_f_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_tstbit0_fp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_tstbit0_fp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_tstbit0_fp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_tstbit0_fp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_tstbit0_t_jumpnv_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_tstbit0_t_jumpnv_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_tstbit0_tp0_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_tstbit0_tp0_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_tstbit0_tp1_jump_nt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_j4_tstbit0_tp1_jump_t(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_L2_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_L2_ops.c new file mode 100644 index 00000000..f317a760 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_L2_ops.c @@ -0,0 +1,539 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_l2_deallocframe(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadalignb_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadalignb_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadalignb_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadalignb_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadalignb_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadalignb_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadalignh_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadalignh_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadalignh_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadalignh_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadalignh_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadalignh_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbsw2_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbsw2_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbsw2_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbsw2_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbsw2_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbsw2_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbsw4_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbsw4_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbsw4_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbsw4_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbsw4_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbsw4_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbzw2_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbzw2_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbzw2_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbzw2_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbzw2_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbzw2_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbzw4_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbzw4_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbzw4_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbzw4_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbzw4_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadbzw4_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrb_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrb_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrb_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrb_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrb_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrb_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrbgp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrd_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrd_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrd_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrd_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrd_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrd_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrdgp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrh_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrh_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrh_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrh_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrh_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrh_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrhgp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadri_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadri_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadri_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadri_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadri_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadri_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrigp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrub_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrub_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrub_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrub_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrub_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrub_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadrubgp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadruh_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadruh_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadruh_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadruh_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadruh_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadruh_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadruhgp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadw_aq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_loadw_locked(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrbf_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrbf_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrbfnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrbfnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrbt_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrbt_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrbtnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrbtnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrdf_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrdf_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrdfnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrdfnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrdt_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrdt_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrdtnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrdtnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrhf_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrhf_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrhfnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrhfnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrht_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrht_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrhtnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrhtnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrif_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrif_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrifnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrifnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrit_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrit_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadritnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadritnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrubf_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrubf_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrubfnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrubfnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrubt_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrubt_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrubtnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadrubtnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadruhf_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadruhf_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadruhfnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadruhfnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadruht_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadruht_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadruhtnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l2_ploadruhtnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_L4_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_L4_ops.c new file mode 100644 index 00000000..f8e20c97 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_L4_ops.c @@ -0,0 +1,467 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_l4_add_memopb_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_add_memoph_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_add_memopw_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_and_memopb_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_and_memoph_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_and_memopw_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_iadd_memopb_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_iadd_memoph_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_iadd_memopw_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_iand_memopb_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_iand_memoph_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_iand_memopw_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ior_memopb_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ior_memoph_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ior_memopw_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_isub_memopb_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_isub_memoph_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_isub_memopw_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadalignb_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadalignb_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadalignh_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadalignh_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadbsw2_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadbsw2_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadbsw4_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadbsw4_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadbzw2_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadbzw2_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadbzw4_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadbzw4_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadd_aq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadd_locked(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadrb_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadrb_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadrb_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadrd_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadrd_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadrd_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadrh_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadrh_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadrh_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadri_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadri_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadri_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadrub_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadrub_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadrub_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadruh_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadruh_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_loadruh_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_or_memopb_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_or_memoph_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_or_memopw_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrbf_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrbf_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrbfnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrbfnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrbt_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrbt_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrbtnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrbtnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrdf_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrdf_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrdfnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrdfnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrdt_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrdt_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrdtnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrdtnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrhf_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrhf_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrhfnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrhfnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrht_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrht_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrhtnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrhtnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrif_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrif_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrifnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrifnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrit_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrit_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadritnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadritnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrubf_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrubf_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrubfnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrubfnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrubt_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrubt_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrubtnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadrubtnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadruhf_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadruhf_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadruhfnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadruhfnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadruht_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadruht_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadruhtnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_ploadruhtnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_return(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_return_f(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_return_fnew_pnt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_return_fnew_pt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_return_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_return_tnew_pnt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_return_tnew_pt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_sub_memopb_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_sub_memoph_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_l4_sub_memopw_io(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_L6_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_L6_ops.c new file mode 100644 index 00000000..b293f3dc --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_L6_ops.c @@ -0,0 +1,27 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_l6_memcpy(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_M2_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_M2_ops.c new file mode 100644 index 00000000..464dd3b0 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_M2_ops.c @@ -0,0 +1,1115 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_m2_acci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_accii(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cmaci_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cmacr_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cmacs_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cmacs_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cmacsc_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cmacsc_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cmpyi_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cmpyr_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cmpyrs_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cmpyrs_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cmpyrsc_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cmpyrsc_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cmpys_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cmpys_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cmpysc_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cmpysc_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cnacs_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cnacs_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cnacsc_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_cnacsc_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_dpmpyss_acc_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_dpmpyss_nac_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_dpmpyss_rnd_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_dpmpyss_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_dpmpyuu_acc_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_dpmpyuu_nac_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_dpmpyuu_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_hmmpyh_rs1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_hmmpyh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_hmmpyl_rs1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_hmmpyl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_maci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_macsin(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_macsip(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmachs_rs0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmachs_rs1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmachs_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmachs_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmacls_rs0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmacls_rs1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmacls_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmacls_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmacuhs_rs0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmacuhs_rs1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmacuhs_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmacuhs_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmaculs_rs0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmaculs_rs1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmaculs_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmaculs_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmpyh_rs0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmpyh_rs1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmpyh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmpyh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmpyl_rs0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmpyl_rs1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmpyl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmpyl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmpyuh_rs0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmpyuh_rs1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmpyuh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmpyuh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmpyul_rs0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmpyul_rs1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmpyul_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mmpyul_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mnaci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_acc_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_acc_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_acc_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_acc_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_acc_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_acc_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_acc_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_acc_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_acc_sat_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_acc_sat_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_acc_sat_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_acc_sat_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_acc_sat_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_acc_sat_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_acc_sat_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_acc_sat_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_nac_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_nac_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_nac_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_nac_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_nac_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_nac_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_nac_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_nac_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_nac_sat_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_nac_sat_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_nac_sat_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_nac_sat_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_nac_sat_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_nac_sat_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_nac_sat_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_nac_sat_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_rnd_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_rnd_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_rnd_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_rnd_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_rnd_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_rnd_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_rnd_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_rnd_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_sat_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_sat_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_sat_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_sat_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_sat_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_sat_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_sat_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_sat_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_sat_rnd_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_sat_rnd_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_sat_rnd_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_sat_rnd_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_sat_rnd_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_sat_rnd_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_sat_rnd_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_sat_rnd_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_up(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_up_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpy_up_s1_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_acc_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_acc_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_acc_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_acc_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_acc_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_acc_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_acc_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_acc_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_nac_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_nac_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_nac_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_nac_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_nac_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_nac_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_nac_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_nac_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_rnd_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_rnd_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_rnd_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_rnd_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_rnd_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_rnd_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_rnd_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyd_rnd_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpysin(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpysip(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpysu_up(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_acc_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_acc_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_acc_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_acc_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_acc_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_acc_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_acc_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_acc_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_nac_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_nac_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_nac_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_nac_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_nac_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_nac_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_nac_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_nac_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyu_up(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_acc_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_acc_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_acc_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_acc_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_acc_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_acc_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_acc_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_acc_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_nac_hh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_nac_hh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_nac_hl_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_nac_hl_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_nac_lh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_nac_lh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_nac_ll_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_mpyud_nac_ll_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_nacci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_naccii(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_subacc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vabsdiffh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vabsdiffw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vcmac_s0_sat_i(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vcmac_s0_sat_r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vcmpy_s0_sat_i(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vcmpy_s0_sat_r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vcmpy_s1_sat_i(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vcmpy_s1_sat_r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vdmacs_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vdmacs_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vdmpyrs_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vdmpyrs_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vdmpys_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vdmpys_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vmac2(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vmac2es(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vmac2es_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vmac2es_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vmac2s_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vmac2s_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vmac2su_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vmac2su_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vmpy2es_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vmpy2es_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vmpy2s_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vmpy2s_s0pack(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vmpy2s_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vmpy2s_s1pack(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vmpy2su_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vmpy2su_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vraddh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vradduh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vrcmaci_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vrcmaci_s0c(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vrcmacr_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vrcmacr_s0c(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vrcmpyi_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vrcmpyi_s0c(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vrcmpyr_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vrcmpyr_s0c(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vrcmpys_acc_s1_h(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vrcmpys_acc_s1_l(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vrcmpys_s1_h(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vrcmpys_s1_l(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vrcmpys_s1rp_h(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vrcmpys_s1rp_l(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vrmac_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_vrmpy_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m2_xor_xacc(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_M4_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_M4_ops.c new file mode 100644 index 00000000..65790e79 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_M4_ops.c @@ -0,0 +1,163 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_m4_and_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_and_andn(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_and_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_and_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_cmpyi_wh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_cmpyi_whc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_cmpyr_wh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_cmpyr_whc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_mac_up_s1_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_mpyri_addi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_mpyri_addr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_mpyri_addr_u2(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_mpyrr_addi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_mpyrr_addr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_nac_up_s1_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_or_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_or_andn(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_or_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_or_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_pmpyw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_pmpyw_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_vpmpyh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_vpmpyh_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_vrmpyeh_acc_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_vrmpyeh_acc_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_vrmpyeh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_vrmpyeh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_vrmpyoh_acc_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_vrmpyoh_acc_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_vrmpyoh_s0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_vrmpyoh_s1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_xor_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_xor_andn(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_xor_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m4_xor_xacc(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_M5_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_M5_ops.c new file mode 100644 index 00000000..ccdaa2f2 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_M5_ops.c @@ -0,0 +1,63 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_m5_vdmacbsu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m5_vdmpybsu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m5_vmacbsu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m5_vmacbuu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m5_vmpybsu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m5_vmpybuu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m5_vrmacbsu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m5_vrmacbuu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m5_vrmpybsu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m5_vrmpybuu(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_M6_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_M6_ops.c new file mode 100644 index 00000000..a410a845 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_M6_ops.c @@ -0,0 +1,31 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_m6_vabsdiffb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m6_vabsdiffub(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_M7_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_M7_ops.c new file mode 100644 index 00000000..d1071343 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_M7_ops.c @@ -0,0 +1,87 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_m7_dcmpyiw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m7_dcmpyiw_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m7_dcmpyiwc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m7_dcmpyiwc_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m7_dcmpyrw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m7_dcmpyrw_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m7_dcmpyrwc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m7_dcmpyrwc_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m7_wcmpyiw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m7_wcmpyiw_rnd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m7_wcmpyiwc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m7_wcmpyiwc_rnd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m7_wcmpyrw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m7_wcmpyrw_rnd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m7_wcmpyrwc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_m7_wcmpyrwc_rnd(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_PS_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_PS_ops.c new file mode 100644 index 00000000..993a360d --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_PS_ops.c @@ -0,0 +1,83 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_ps_loadrbabs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ps_loadrdabs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ps_loadrhabs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ps_loadriabs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ps_loadrubabs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ps_loadruhabs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ps_storerbabs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ps_storerbnewabs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ps_storerdabs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ps_storerfabs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ps_storerhabs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ps_storerhnewabs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ps_storeriabs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ps_storerinewabs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ps_trap1(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_R6_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_R6_ops.c new file mode 100644 index 00000000..ba06f03f --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_R6_ops.c @@ -0,0 +1,31 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_r6_release_at_vi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_r6_release_st_vi(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_S2_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_S2_ops.c new file mode 100644 index 00000000..6e0b6f76 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_S2_ops.c @@ -0,0 +1,1147 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_s2_addasl_rrri(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_allocframe(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_i_p(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_i_p_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_i_p_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_i_p_nac(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_i_p_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_i_p_xacc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_i_r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_i_r_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_i_r_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_i_r_nac(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_i_r_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_i_r_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_i_r_xacc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_i_vh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_i_vw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_r_p(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_r_p_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_r_p_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_r_p_nac(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_r_p_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_r_p_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_r_r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_r_r_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_r_r_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_r_r_nac(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_r_r_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_r_r_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_r_vh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asl_r_vw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_i_p(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_i_p_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_i_p_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_i_p_nac(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_i_p_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_i_p_rnd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_i_r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_i_r_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_i_r_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_i_r_nac(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_i_r_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_i_r_rnd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_i_svw_trun(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_i_vh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_i_vw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_r_p(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_r_p_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_r_p_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_r_p_nac(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_r_p_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_r_p_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_r_r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_r_r_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_r_r_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_r_r_nac(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_r_r_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_r_r_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_r_svw_trun(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_r_vh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_asr_r_vw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_brev(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_brevp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_cabacdecbin(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_cl0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_cl0p(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_cl1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_cl1p(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_clb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_clbnorm(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_clbp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_clrbit_i(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_clrbit_r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_ct0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_ct0p(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_ct1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_ct1p(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_deinterleave(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_extractu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_extractu_rp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_extractup(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_extractup_rp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_insert(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_insert_rp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_insertp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_insertp_rp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_interleave(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lfsp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsl_r_p(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsl_r_p_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsl_r_p_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsl_r_p_nac(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsl_r_p_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsl_r_p_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsl_r_r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsl_r_r_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsl_r_r_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsl_r_r_nac(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsl_r_r_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsl_r_vh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsl_r_vw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_i_p(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_i_p_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_i_p_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_i_p_nac(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_i_p_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_i_p_xacc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_i_r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_i_r_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_i_r_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_i_r_nac(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_i_r_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_i_r_xacc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_i_vh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_i_vw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_r_p(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_r_p_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_r_p_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_r_p_nac(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_r_p_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_r_p_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_r_r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_r_r_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_r_r_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_r_r_nac(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_r_r_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_r_vh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_lsr_r_vw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_mask(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_packhl(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_parityp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerbf_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerbf_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerbfnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerbnewf_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerbnewf_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerbnewfnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerbnewt_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerbnewt_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerbnewtnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerbt_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerbt_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerbtnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerdf_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerdf_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerdfnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerdt_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerdt_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerdtnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerff_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerff_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerffnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerft_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerft_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerftnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerhf_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerhf_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerhfnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerhnewf_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerhnewf_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerhnewfnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerhnewt_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerhnewt_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerhnewtnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerht_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerht_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerhtnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerif_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerif_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerifnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerinewf_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerinewf_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerinewfnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerinewt_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerinewt_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerinewtnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerit_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstorerit_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_pstoreritnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_setbit_i(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_setbit_r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_shuffeb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_shuffeh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_shuffob(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_shuffoh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerb_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerb_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerb_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerb_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerb_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerb_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerbgp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerbnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerbnew_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerbnew_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerbnew_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerbnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerbnew_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerbnewgp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerd_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerd_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerd_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerd_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerd_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerd_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerdgp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerf_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerf_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerf_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerf_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerf_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerf_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerfgp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerh_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerh_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerh_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerh_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerh_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerh_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerhgp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerhnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerhnew_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerhnew_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerhnew_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerhnew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerhnew_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerhnewgp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storeri_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storeri_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storeri_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storeri_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storeri_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storeri_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerigp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerinew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerinew_pbr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerinew_pci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerinew_pcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerinew_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerinew_pr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storerinewgp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storew_locked(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storew_rl_at_vi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_storew_rl_st_vi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_svsathb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_svsathub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_tableidxb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_tableidxd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_tableidxh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_tableidxw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_togglebit_i(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_togglebit_r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_tstbit_i(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_tstbit_r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_valignib(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_valignrb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vcnegh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vcrotate(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vrcnegh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vrndpackwh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vrndpackwhs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vsathb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vsathb_nopack(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vsathub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vsathub_nopack(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vsatwh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vsatwh_nopack(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vsatwuh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vsatwuh_nopack(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vsplatrb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vsplatrh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vspliceib(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vsplicerb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vsxtbh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vsxthw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vtrunehb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vtrunewh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vtrunohb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vtrunowh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vzxtbh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s2_vzxthw(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_S4_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_S4_ops.c new file mode 100644 index 00000000..07c52fe6 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_S4_ops.c @@ -0,0 +1,639 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_s4_addaddi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_addi_asl_ri(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_addi_lsr_ri(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_andi_asl_ri(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_andi_lsr_ri(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_clbaddi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_clbpaddi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_clbpnorm(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_extract(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_extract_rp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_extractp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_extractp_rp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_lsli(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_ntstbit_i(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_ntstbit_r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_or_andi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_or_andix(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_or_ori(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_ori_asl_ri(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_ori_lsr_ri(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_parity(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbf_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbf_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbfnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbfnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbfnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbnewf_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbnewf_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbnewfnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbnewfnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbnewfnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbnewt_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbnewt_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbnewtnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbnewtnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbnewtnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbt_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbt_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbtnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbtnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerbtnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerdf_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerdf_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerdfnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerdfnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerdfnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerdt_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerdt_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerdtnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerdtnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerdtnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerff_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerff_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerffnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerffnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerffnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerft_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerft_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerftnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerftnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerftnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhf_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhf_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhfnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhfnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhfnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhnewf_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhnewf_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhnewfnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhnewfnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhnewfnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhnewt_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhnewt_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhnewtnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhnewtnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhnewtnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerht_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerht_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhtnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhtnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerhtnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerif_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerif_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerifnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerifnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerifnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerinewf_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerinewf_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerinewfnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerinewfnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerinewfnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerinewt_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerinewt_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerinewtnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerinewtnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerinewtnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerit_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstorerit_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstoreritnew_abs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstoreritnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_pstoreritnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_stored_locked(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_stored_rl_at_vi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_stored_rl_st_vi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeirb_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeirbf_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeirbfnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeirbt_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeirbtnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeirh_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeirhf_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeirhfnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeirht_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeirhtnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeiri_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeirif_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeirifnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeirit_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeiritnew_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerb_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerb_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerb_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerbnew_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerbnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerbnew_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerd_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerd_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerd_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerf_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerf_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerf_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerh_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerh_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerh_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerhnew_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerhnew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerhnew_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeri_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeri_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storeri_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerinew_ap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerinew_rr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_storerinew_ur(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_subaddi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_subi_asl_ri(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_subi_lsr_ri(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_vrcrotate(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_vrcrotate_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_vxaddsubh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_vxaddsubhr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_vxaddsubw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_vxsubaddh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_vxsubaddhr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s4_vxsubaddw(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_S5_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_S5_ops.c new file mode 100644 index 00000000..985b9235 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_S5_ops.c @@ -0,0 +1,39 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_s5_asrhub_rnd_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s5_asrhub_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s5_popcountp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s5_vasrhrnd(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_S6_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_S6_ops.c new file mode 100644 index 00000000..fdeb1278 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_S6_ops.c @@ -0,0 +1,83 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_s6_rol_i_p(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s6_rol_i_p_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s6_rol_i_p_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s6_rol_i_p_nac(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s6_rol_i_p_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s6_rol_i_p_xacc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s6_rol_i_r(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s6_rol_i_r_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s6_rol_i_r_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s6_rol_i_r_nac(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s6_rol_i_r_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s6_rol_i_r_xacc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s6_vsplatrbp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s6_vtrunehb_ppp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_s6_vtrunohb_ppp(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_SA1_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_SA1_ops.c new file mode 100644 index 00000000..01633137 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_SA1_ops.c @@ -0,0 +1,119 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_sa1_addi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_addrx(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_addsp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_and1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_clrf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_clrfnew(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_clrt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_clrtnew(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_cmpeqi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_combine0i(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_combine1i(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_combine2i(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_combine3i(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_combinerz(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_combinezr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_dec(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_inc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_seti(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_setin1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_sxtb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_sxth(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_tfr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_zxtb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sa1_zxth(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_SL1_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_SL1_ops.c new file mode 100644 index 00000000..5820f926 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_SL1_ops.c @@ -0,0 +1,31 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_sl1_loadri_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sl1_loadrub_io(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_SL2_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_SL2_ops.c new file mode 100644 index 00000000..c3a45a97 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_SL2_ops.c @@ -0,0 +1,87 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_sl2_deallocframe(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sl2_jumpr31(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sl2_jumpr31_f(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sl2_jumpr31_fnew(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sl2_jumpr31_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sl2_jumpr31_tnew(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sl2_loadrb_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sl2_loadrd_sp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sl2_loadrh_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sl2_loadri_sp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sl2_loadruh_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sl2_return(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sl2_return_f(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sl2_return_fnew(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sl2_return_t(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_sl2_return_tnew(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_SS1_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_SS1_ops.c new file mode 100644 index 00000000..324cbb30 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_SS1_ops.c @@ -0,0 +1,31 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_ss1_storeb_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ss1_storew_io(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_SS2_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_SS2_ops.c new file mode 100644 index 00000000..6f4f60c2 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_SS2_ops.c @@ -0,0 +1,55 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_ss2_allocframe(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ss2_storebi0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ss2_storebi1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ss2_stored_sp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ss2_storeh_io(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ss2_storew_sp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ss2_storewi0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_ss2_storewi1(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_UNDOCUMENTED_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_UNDOCUMENTED_ops.c new file mode 100644 index 00000000..87c20693 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_UNDOCUMENTED_ops.c @@ -0,0 +1,27 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_undocumented_sa2_tfrsi(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_V6_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_V6_ops.c new file mode 100644 index 00000000..32240513 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_V6_ops.c @@ -0,0 +1,2535 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_v6_extractw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_lvsplatb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_lvsplath(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_lvsplatw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_pred_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_pred_and_n(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_pred_not(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_pred_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_pred_or_n(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_pred_scalar2(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_pred_scalar2v2(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_pred_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_shuffeqh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_shuffeqw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_v6mpyhubs10(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_v6mpyhubs10_vxx(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_v6mpyvubs10(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_v6mpyvubs10_vxx(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32ub_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32ub_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32ub_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_cur_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_cur_npred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_cur_npred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_cur_npred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_cur_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_cur_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_cur_pred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_cur_pred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_cur_pred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_npred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_npred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_npred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_npred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_npred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_npred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_pred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_pred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_cur_pred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_npred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_npred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_npred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_pred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_pred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_pred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_npred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_npred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_npred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_pred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_pred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_nt_tmp_pred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_pred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_pred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_pred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_tmp_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_tmp_npred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_tmp_npred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_tmp_npred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_tmp_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_tmp_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_tmp_pred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_tmp_pred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vl32b_tmp_pred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32ub_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32ub_npred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32ub_npred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32ub_npred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32ub_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32ub_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32ub_pred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32ub_pred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32ub_pred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_new_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_new_npred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_new_npred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_new_npred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_new_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_new_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_new_pred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_new_pred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_new_pred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_npred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_npred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_npred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nqpred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nqpred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nqpred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_npred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_npred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_npred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_pred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_pred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_new_pred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_npred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_npred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_npred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_nqpred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_nqpred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_nqpred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_pred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_pred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_pred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_qpred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_qpred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_nt_qpred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_pred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_pred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_pred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_qpred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_qpred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_qpred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_srls_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_srls_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vs32b_srls_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vabs_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vabs_sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vabsb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vabsb_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vabsdiffh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vabsdiffub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vabsdiffuh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vabsdiffw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vabsh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vabsh_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vabsw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vabsw_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vadd_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vadd_hf_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vadd_qf16(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vadd_qf16_mix(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vadd_qf32(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vadd_qf32_mix(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vadd_sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vadd_sf_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vadd_sf_sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddb_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddbnq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddbq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddbsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddbsat_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddcarry(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddcarryo(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddcarrysat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddclbh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddclbw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddh_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddhnq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddhq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddhsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddhsat_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddhw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddhw_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddubh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddubh_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddubsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddubsat_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddububb_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vadduhsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vadduhsat_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vadduhw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vadduhw_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vadduwsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vadduwsat_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddw_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddwnq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddwq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddwsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaddwsat_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_valignb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_valignbi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vand(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vandnqrt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vandnqrt_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vandqrt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vandqrt_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vandvnqv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vandvqv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vandvrt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vandvrt_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaslh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaslh_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaslhv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaslw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaslw_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vaslwv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasr_into(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrh_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrhbrndsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrhbsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrhubrndsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrhubsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrhv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasruhubrndsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasruhubsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasruwuhrndsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasruwuhsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrvuhubrndsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrvuhubsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrvwuhrndsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrvwuhsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrw_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrwh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrwhrndsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrwhsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrwuhrndsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrwuhsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vasrwv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vassign(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vassign_fp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vassign_tmp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vavgb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vavgbrnd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vavgh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vavghrnd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vavgub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vavgubrnd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vavguh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vavguhrnd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vavguw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vavguwrnd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vavgw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vavgwrnd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vccombine(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vcl0h(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vcl0w(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vcmov(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vcombine(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vcombine_tmp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vconv_hf_qf16(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vconv_hf_qf32(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vconv_sf_qf32(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vcvt_b_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vcvt_h_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vcvt_hf_b(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vcvt_hf_h(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vcvt_hf_sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vcvt_hf_ub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vcvt_hf_uh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vcvt_sf_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vcvt_ub_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vcvt_uh_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdeal(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdealb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdealb4w(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdealh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdealvdd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdelta(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpy_sf_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpy_sf_hf_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpybus(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpybus_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpybus_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpybus_dv_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpyhb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpyhb_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpyhb_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpyhb_dv_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpyhisat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpyhisat_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpyhsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpyhsat_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpyhsuisat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpyhsuisat_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpyhsusat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpyhsusat_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpyhvsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdmpyhvsat_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdsaduh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vdsaduh_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_veqb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_veqb_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_veqb_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_veqb_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_veqh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_veqh_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_veqh_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_veqh_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_veqw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_veqw_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_veqw_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_veqw_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vfmax_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vfmax_sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vfmin_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vfmin_sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vfneg_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vfneg_sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgathermh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgathermhq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgathermhw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgathermhwq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgathermw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgathermwq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtb_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtb_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtb_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgth(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgth_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgth_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgth_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgthf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgthf_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgthf_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgthf_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtsf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtsf_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtsf_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtsf_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtub_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtub_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtub_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtuh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtuh_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtuh_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtuh_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtuw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtuw_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtuw_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtuw_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtw_and(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtw_or(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vgtw_xor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vhist(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vhistq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vinsertwr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlalignb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlalignbi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlsrb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlsrh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlsrhv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlsrw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlsrwv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlut4(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlutvvb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlutvvb_nm(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlutvvb_oracc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlutvvb_oracci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlutvvbi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlutvwh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlutvwh_nm(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlutvwh_oracc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlutvwh_oracci(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vlutvwhi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmax_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmax_sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmaxb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmaxh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmaxub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmaxuh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmaxw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmin_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmin_sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vminb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vminh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vminub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vminuh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vminw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpabus(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpabus_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpabusv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpabuu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpabuu_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpabuuv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpahb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpahb_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpahhsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpauhb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpauhb_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpauhuhsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpsuhuhsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpy_hf_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpy_hf_hf_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpy_qf16(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpy_qf16_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpy_qf16_mix_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpy_qf32(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpy_qf32_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpy_qf32_mix_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpy_qf32_qf16(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpy_qf32_sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpy_sf_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpy_sf_hf_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpy_sf_sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpybus(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpybus_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpybusv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpybusv_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpybv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpybv_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyewuh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyewuh_64(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyh_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyhsat_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyhsrs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyhss(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyhus(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyhus_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyhv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyhv_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyhvsrs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyieoh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyiewh_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyiewuh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyiewuh_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyih(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyih_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyihb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyihb_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyiowh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyiwb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyiwb_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyiwh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyiwh_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyiwub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyiwub_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyowh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyowh_64_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyowh_rnd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyowh_rnd_sacc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyowh_sacc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyub_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyubv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyubv_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyuh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyuh_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyuhe(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyuhe_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyuhv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyuhv_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmpyuhvs(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vmux(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vnavgb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vnavgh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vnavgub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vnavgw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vnccombine(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vncmov(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vnormamth(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vnormamtw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vnot(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vpackeb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vpackeh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vpackhb_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vpackhub_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vpackob(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vpackoh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vpackwh_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vpackwuh_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vpopcounth(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vprefixqb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vprefixqh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vprefixqw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrdelta(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpybub_rtt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpybub_rtt_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpybus(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpybus_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpybusi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpybusi_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpybusv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpybusv_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpybv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpybv_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyub_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyub_rtt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyub_rtt_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyubi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyubi_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyubv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyubv_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyzbb_rt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyzbb_rt_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyzbb_rx(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyzbb_rx_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyzbub_rt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyzbub_rt_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyzbub_rx(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyzbub_rx_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyzcb_rt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyzcb_rt_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyzcb_rx(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyzcb_rx_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyzcbs_rt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyzcbs_rt_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyzcbs_rx(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyzcbs_rx_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyznb_rt(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyznb_rt_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyznb_rx(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrmpyznb_rx_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vror(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrotr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vroundhb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vroundhub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrounduhub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrounduwuh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vroundwh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vroundwuh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrsadubi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vrsadubi_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsatdw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsathub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsatuwuh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsatwh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vscattermh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vscattermh_add(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vscattermhq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vscattermhw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vscattermhw_add(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vscattermhwq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vscattermw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vscattermw_add(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vscattermwq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vshufeh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vshuff(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vshuffb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vshuffeb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vshuffh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vshuffob(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vshuffvdd(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vshufoeb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vshufoeh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vshufoh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsub_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsub_hf_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsub_qf16(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsub_qf16_mix(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsub_qf32(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsub_qf32_mix(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsub_sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsub_sf_hf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsub_sf_sf(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubb_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubbnq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubbq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubbsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubbsat_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubcarry(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubcarryo(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubh_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubhnq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubhq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubhsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubhsat_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubhw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsububh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsububsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsububsat_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubububb_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubuhsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubuhsat_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubuhw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubuwsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubuwsat_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubw(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubw_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubwnq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubwq(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubwsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vsubwsat_dv(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vswap(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vtmpyb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vtmpyb_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vtmpybus(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vtmpybus_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vtmpyhb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vtmpyhb_acc(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vunpackb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vunpackh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vunpackob(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vunpackoh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vunpackub(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vunpackuh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vwhist128(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vwhist128m(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vwhist128q(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vwhist128qm(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vwhist256(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vwhist256_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vwhist256q(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vwhist256q_sat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vxor(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vzb(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_vzh(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_zld_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_zld_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_zld_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_zld_pred_ai(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_zld_pred_pi(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_zld_pred_ppu(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_v6_zextract(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_Y2_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_Y2_ops.c new file mode 100644 index 00000000..185c857b --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_Y2_ops.c @@ -0,0 +1,75 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_y2_barrier(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y2_break(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y2_dccleana(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y2_dccleaninva(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y2_dcfetchbo(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y2_dcinva(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y2_dczeroa(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y2_icinva(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y2_isync(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y2_syncht(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y2_tfrscrr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y2_tfrsrcr(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y2_wait(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_Y4_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_Y4_ops.c new file mode 100644 index 00000000..793dc3bf --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_Y4_ops.c @@ -0,0 +1,39 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_y4_l2fetch(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y4_tfrscpp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y4_tfrspcp(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y4_trace(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_Y5_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_Y5_ops.c new file mode 100644 index 00000000..076693bb --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_Y5_ops.c @@ -0,0 +1,27 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_y5_l2fetch(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_Y6_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_Y6_ops.c new file mode 100644 index 00000000..fd3d328a --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_Y6_ops.c @@ -0,0 +1,59 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_y6_diag(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y6_diag0(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y6_diag1(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y6_dmlink(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y6_dmpause(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y6_dmpoll(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y6_dmresume(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y6_dmstart(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_y6_dmwait(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_dep_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_dep_ops.c new file mode 100644 index 00000000..5125c9ca --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_dep_ops.c @@ -0,0 +1,35 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_dep_a2_addsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_dep_a2_subsat(void *hi) { + NOT_IMPLEMENTED; +} + +RzILOpEffect *hex_il_op_dep_s2_packhl(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_invalid_ops.c b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_invalid_ops.c new file mode 100644 index 00000000..cdabf309 --- /dev/null +++ b/rizin/librz/analysis/arch/hexagon/il_ops/hexagon_il_invalid_ops.c @@ -0,0 +1,27 @@ +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-17 10:09:49-04:00 +// SPDX-FileCopyrightText: 2021 Rot127 +// SPDX-License-Identifier: LGPL-3.0-only + +// LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 +// LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) +// Date of code generation: 2022-07-16 17:56:02-04:00 +//======================================== +// The following code is generated. +// Do not edit. Repository of code generator: +// https://github.com/rizinorg/rz-hexagon + +#include "../hexagon.h" +#include "../hexagon_il.h" + +#include + +RzILOpEffect *hex_il_op_invalid_decode(void *hi) { + NOT_IMPLEMENTED; +} + +#include \ No newline at end of file diff --git a/rizin/librz/asm/arch/hexagon/hexagon.c b/rizin/librz/asm/arch/hexagon/hexagon.c index 72625538..a689b477 100644 --- a/rizin/librz/asm/arch/hexagon/hexagon.c +++ b/rizin/librz/asm/arch/hexagon/hexagon.c @@ -3,7 +3,7 @@ // LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 // LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) -// Date of code generation: 2022-04-11 18:58:34+02:00 +// Date of code generation: 2022-07-16 14:28:33-04:00 //======================================== // The following code is generated. // Do not edit. Repository of code generator: @@ -21,847 +21,327 @@ #include "hexagon_insn.h" #include "hexagon_arch.h" -char *hex_get_ctr_regs(int opcode_reg, bool get_alias) { - switch (opcode_reg) { - default: return ""; - case HEX_REG_CTR_REGS_C1: - return get_alias ? "LC0" : "C1"; - case HEX_REG_CTR_REGS_C0: - return get_alias ? "SA0" : "C0"; - case HEX_REG_CTR_REGS_C3: - return get_alias ? "LC1" : "C3"; - case HEX_REG_CTR_REGS_C2: - return get_alias ? "SA1" : "C2"; - case HEX_REG_CTR_REGS_C4: - return get_alias ? "P3:0" : "C4"; - case HEX_REG_CTR_REGS_C5: - return get_alias ? "C5" : "C5"; - case HEX_REG_CTR_REGS_C9: - return get_alias ? "PC" : "C9"; - case HEX_REG_CTR_REGS_C10: - return get_alias ? "UGP" : "C10"; - case HEX_REG_CTR_REGS_C11: - return get_alias ? "GP" : "C11"; - case HEX_REG_CTR_REGS_C12: - return get_alias ? "CS0" : "C12"; - case HEX_REG_CTR_REGS_C13: - return get_alias ? "CS1" : "C13"; - case HEX_REG_CTR_REGS_C14: - return get_alias ? "UPCYCLELO" : "C14"; - case HEX_REG_CTR_REGS_C15: - return get_alias ? "UPCYCLEHI" : "C15"; - case HEX_REG_CTR_REGS_C16: - return get_alias ? "FRAMELIMIT" : "C16"; - case HEX_REG_CTR_REGS_C17: - return get_alias ? "FRAMEKEY" : "C17"; - case HEX_REG_CTR_REGS_C18: - return get_alias ? "PKTCOUNTLO" : "C18"; - case HEX_REG_CTR_REGS_C19: - return get_alias ? "PKTCOUNTHI" : "C19"; - case HEX_REG_CTR_REGS_C30: - return get_alias ? "UTIMERLO" : "C30"; - case HEX_REG_CTR_REGS_C31: - return get_alias ? "UTIMERHI" : "C31"; - case HEX_REG_CTR_REGS_C6: - return get_alias ? "M0" : "C6"; - case HEX_REG_CTR_REGS_C7: - return get_alias ? "M1" : "C7"; - case HEX_REG_CTR_REGS_C8: - return get_alias ? "USR" : "C8"; +const char *hex_get_ctr_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_CTRREGS_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_ctr_regs", name_index); + return ""; } + const char *name = hexagon_ctrregs_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_ctr_regs", name_index); + return ""; + } + return name; } -char *hex_get_ctr_regs64(int opcode_reg, bool get_alias) { - switch (opcode_reg) { - default: return ""; - case HEX_REG_CTR_REGS64_C1_0: - return get_alias ? "LC0:SA0" : "C1:0"; - case HEX_REG_CTR_REGS64_C3_2: - return get_alias ? "LC1:SA1" : "C3:2"; - case HEX_REG_CTR_REGS64_C5_4: - return "C5:4"; - case HEX_REG_CTR_REGS64_C7_6: - return get_alias ? "M1:0" : "C7:6"; - case HEX_REG_CTR_REGS64_C9_8: - return "C9:8"; - case HEX_REG_CTR_REGS64_C11_10: - return "C11:10"; - case HEX_REG_CTR_REGS64_C13_12: - return get_alias ? "CS1:0" : "C13:12"; - case HEX_REG_CTR_REGS64_C15_14: - return get_alias ? "UPCYCLE" : "C15:14"; - case HEX_REG_CTR_REGS64_C17_16: - return "C17:16"; - case HEX_REG_CTR_REGS64_C19_18: - return get_alias ? "PKTCOUNT" : "C19:18"; - case HEX_REG_CTR_REGS64_C31_30: - return get_alias ? "UTIMER" : "C31:30"; +const char *hex_get_ctr_regs64(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_CTRREGS64_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_ctr_regs64", name_index); + return ""; + } + const char *name = hexagon_ctrregs64_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_ctr_regs64", name_index); + return ""; } + return name; } -char *hex_get_double_regs(int opcode_reg, bool get_alias) { - switch (opcode_reg) { - default: return ""; - case HEX_REG_DOUBLE_REGS_R1_0: - return "R1:0"; - case HEX_REG_DOUBLE_REGS_R3_2: - return "R3:2"; - case HEX_REG_DOUBLE_REGS_R5_4: - return "R5:4"; - case HEX_REG_DOUBLE_REGS_R7_6: - return "R7:6"; - case HEX_REG_DOUBLE_REGS_R9_8: - return "R9:8"; - case HEX_REG_DOUBLE_REGS_R13_12: - return "R13:12"; - case HEX_REG_DOUBLE_REGS_R15_14: - return "R15:14"; - case HEX_REG_DOUBLE_REGS_R17_16: - return "R17:16"; - case HEX_REG_DOUBLE_REGS_R19_18: - return "R19:18"; - case HEX_REG_DOUBLE_REGS_R21_20: - return "R21:20"; - case HEX_REG_DOUBLE_REGS_R23_22: - return "R23:22"; - case HEX_REG_DOUBLE_REGS_R25_24: - return "R25:24"; - case HEX_REG_DOUBLE_REGS_R27_26: - return "R27:26"; - case HEX_REG_DOUBLE_REGS_R11_10: - return "R11:10"; - case HEX_REG_DOUBLE_REGS_R29_28: - return "R29:28"; - case HEX_REG_DOUBLE_REGS_R31_30: - return get_alias ? "LR:FP" : "R31:30"; +const char *hex_get_double_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_DOUBLEREGS_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_double_regs", name_index); + return ""; + } + const char *name = hexagon_doubleregs_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_double_regs", name_index); + return ""; } + return name; } -char *hex_get_general_double_low8_regs(int opcode_reg, bool get_alias) { - opcode_reg = opcode_reg << 1; - if (opcode_reg > 6) { // HEX_REG_D3 == 6 - opcode_reg = (opcode_reg & 0x7) | 0x10; - } - switch (opcode_reg) { - default: return ""; - case HEX_REG_GENERAL_DOUBLE_LOW8_REGS_R23_22: - return "R23:22"; - case HEX_REG_GENERAL_DOUBLE_LOW8_REGS_R21_20: - return "R21:20"; - case HEX_REG_GENERAL_DOUBLE_LOW8_REGS_R19_18: - return "R19:18"; - case HEX_REG_GENERAL_DOUBLE_LOW8_REGS_R17_16: - return "R17:16"; - case HEX_REG_GENERAL_DOUBLE_LOW8_REGS_R7_6: - return "R7:6"; - case HEX_REG_GENERAL_DOUBLE_LOW8_REGS_R5_4: - return "R5:4"; - case HEX_REG_GENERAL_DOUBLE_LOW8_REGS_R3_2: - return "R3:2"; - case HEX_REG_GENERAL_DOUBLE_LOW8_REGS_R1_0: - return "R1:0"; +const char *hex_get_general_double_low8_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + if (!reg_num_is_enum) { + reg_num = reg_num << 1; + if (reg_num > 6) { // HEX_REG_D3 == 6 + reg_num = (reg_num & 0x7) | 0x10; + } + } + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_GENERALDOUBLELOW8REGS_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_general_double_low8_regs", name_index); + return ""; + } + const char *name = hexagon_generaldoublelow8regs_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_general_double_low8_regs", name_index); + return ""; } + return name; } -char *hex_get_general_sub_regs(int opcode_reg, bool get_alias) { - if (opcode_reg > 7) { // HEX_REG_R7 == 7 - opcode_reg = (opcode_reg & 0x7) | 0x10; - } - switch (opcode_reg) { - default: return ""; - case HEX_REG_GENERAL_SUB_REGS_R23: - return "R23"; - case HEX_REG_GENERAL_SUB_REGS_R22: - return "R22"; - case HEX_REG_GENERAL_SUB_REGS_R21: - return "R21"; - case HEX_REG_GENERAL_SUB_REGS_R20: - return "R20"; - case HEX_REG_GENERAL_SUB_REGS_R19: - return "R19"; - case HEX_REG_GENERAL_SUB_REGS_R18: - return "R18"; - case HEX_REG_GENERAL_SUB_REGS_R17: - return "R17"; - case HEX_REG_GENERAL_SUB_REGS_R16: - return "R16"; - case HEX_REG_GENERAL_SUB_REGS_R7: - return "R7"; - case HEX_REG_GENERAL_SUB_REGS_R6: - return "R6"; - case HEX_REG_GENERAL_SUB_REGS_R5: - return "R5"; - case HEX_REG_GENERAL_SUB_REGS_R4: - return "R4"; - case HEX_REG_GENERAL_SUB_REGS_R3: - return "R3"; - case HEX_REG_GENERAL_SUB_REGS_R2: - return "R2"; - case HEX_REG_GENERAL_SUB_REGS_R1: - return "R1"; - case HEX_REG_GENERAL_SUB_REGS_R0: - return "R0"; +const char *hex_get_general_sub_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + if (!reg_num_is_enum) { + if (reg_num > 7) { // HEX_REG_R7 == 7 + reg_num = (reg_num & 0x7) | 0x10; + } + } + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_GENERALSUBREGS_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_general_sub_regs", name_index); + return ""; + } + const char *name = hexagon_generalsubregs_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_general_sub_regs", name_index); + return ""; } + return name; } -char *hex_get_guest_regs(int opcode_reg, bool get_alias) { - switch (opcode_reg) { - default: return ""; - case HEX_REG_GUEST_REGS_G0: - return get_alias ? "GELR" : "G0"; - case HEX_REG_GUEST_REGS_G1: - return get_alias ? "GSR" : "G1"; - case HEX_REG_GUEST_REGS_G2: - return get_alias ? "GOSP" : "G2"; - case HEX_REG_GUEST_REGS_G3: - return get_alias ? "GBADVA" : "G3"; - case HEX_REG_GUEST_REGS_G4: - return "G4"; - case HEX_REG_GUEST_REGS_G5: - return "G5"; - case HEX_REG_GUEST_REGS_G6: - return "G6"; - case HEX_REG_GUEST_REGS_G7: - return "G7"; - case HEX_REG_GUEST_REGS_G8: - return "G8"; - case HEX_REG_GUEST_REGS_G9: - return "G9"; - case HEX_REG_GUEST_REGS_G10: - return "G10"; - case HEX_REG_GUEST_REGS_G11: - return "G11"; - case HEX_REG_GUEST_REGS_G12: - return "G12"; - case HEX_REG_GUEST_REGS_G13: - return "G13"; - case HEX_REG_GUEST_REGS_G14: - return "G14"; - case HEX_REG_GUEST_REGS_G15: - return "G15"; - case HEX_REG_GUEST_REGS_G16: - return get_alias ? "GPMUCNT4" : "G16"; - case HEX_REG_GUEST_REGS_G17: - return get_alias ? "GPMUCNT5" : "G17"; - case HEX_REG_GUEST_REGS_G18: - return get_alias ? "GPMUCNT6" : "G18"; - case HEX_REG_GUEST_REGS_G19: - return get_alias ? "GPMUCNT7" : "G19"; - case HEX_REG_GUEST_REGS_G20: - return "G20"; - case HEX_REG_GUEST_REGS_G21: - return "G21"; - case HEX_REG_GUEST_REGS_G22: - return "G22"; - case HEX_REG_GUEST_REGS_G23: - return "G23"; - case HEX_REG_GUEST_REGS_G24: - return get_alias ? "GPCYCLELO" : "G24"; - case HEX_REG_GUEST_REGS_G25: - return get_alias ? "GPCYCLEHI" : "G25"; - case HEX_REG_GUEST_REGS_G26: - return get_alias ? "GPMUCNT0" : "G26"; - case HEX_REG_GUEST_REGS_G27: - return get_alias ? "GPMUCNT1" : "G27"; - case HEX_REG_GUEST_REGS_G28: - return get_alias ? "GPMUCNT2" : "G28"; - case HEX_REG_GUEST_REGS_G29: - return get_alias ? "GPMUCNT3" : "G29"; - case HEX_REG_GUEST_REGS_G30: - return "G30"; - case HEX_REG_GUEST_REGS_G31: - return "G31"; +const char *hex_get_guest_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_GUESTREGS_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_guest_regs", name_index); + return ""; } + const char *name = hexagon_guestregs_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_guest_regs", name_index); + return ""; + } + return name; } -char *hex_get_guest_regs64(int opcode_reg, bool get_alias) { - switch (opcode_reg) { - default: return ""; - case HEX_REG_GUEST_REGS64_G1_0: - return "G1:0"; - case HEX_REG_GUEST_REGS64_G3_2: - return "G3:2"; - case HEX_REG_GUEST_REGS64_G5_4: - return "G5:4"; - case HEX_REG_GUEST_REGS64_G7_6: - return "G7:6"; - case HEX_REG_GUEST_REGS64_G9_8: - return "G9:8"; - case HEX_REG_GUEST_REGS64_G11_10: - return "G11:10"; - case HEX_REG_GUEST_REGS64_G13_12: - return "G13:12"; - case HEX_REG_GUEST_REGS64_G15_14: - return "G15:14"; - case HEX_REG_GUEST_REGS64_G17_16: - return "G17:16"; - case HEX_REG_GUEST_REGS64_G19_18: - return "G19:18"; - case HEX_REG_GUEST_REGS64_G21_20: - return "G21:20"; - case HEX_REG_GUEST_REGS64_G23_22: - return "G23:22"; - case HEX_REG_GUEST_REGS64_G25_24: - return "G25:24"; - case HEX_REG_GUEST_REGS64_G27_26: - return "G27:26"; - case HEX_REG_GUEST_REGS64_G29_28: - return "G29:28"; - case HEX_REG_GUEST_REGS64_G31_30: - return "G31:30"; +const char *hex_get_guest_regs64(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_GUESTREGS64_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_guest_regs64", name_index); + return ""; + } + const char *name = hexagon_guestregs64_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_guest_regs64", name_index); + return ""; } + return name; } -char *hex_get_hvx_qr(int opcode_reg, bool get_alias) { - switch (opcode_reg) { - default: return ""; - case HEX_REG_HVX_QR_Q0: - return "Q0"; - case HEX_REG_HVX_QR_Q1: - return "Q1"; - case HEX_REG_HVX_QR_Q2: - return "Q2"; - case HEX_REG_HVX_QR_Q3: - return "Q3"; +const char *hex_get_hvx_qr(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_HVXQR_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_hvx_qr", name_index); + return ""; } + const char *name = hexagon_hvxqr_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_hvx_qr", name_index); + return ""; + } + return name; } -char *hex_get_hvx_vqr(int opcode_reg, bool get_alias) { - switch (opcode_reg) { - default: return ""; - case HEX_REG_HVX_VQR_V3_0: - return "V3:0"; - case HEX_REG_HVX_VQR_V7_4: - return "V7:4"; - case HEX_REG_HVX_VQR_V11_8: - return "V11:8"; - case HEX_REG_HVX_VQR_V15_12: - return "V15:12"; - case HEX_REG_HVX_VQR_V19_16: - return "V19:16"; - case HEX_REG_HVX_VQR_V23_20: - return "V23:20"; - case HEX_REG_HVX_VQR_V27_24: - return "V27:24"; - case HEX_REG_HVX_VQR_V31_28: - return "V31:28"; +const char *hex_get_hvx_vqr(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_HVXVQR_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_hvx_vqr", name_index); + return ""; + } + const char *name = hexagon_hvxvqr_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_hvx_vqr", name_index); + return ""; } + return name; } -char *hex_get_hvx_vr(int opcode_reg, bool get_alias) { - switch (opcode_reg) { - default: return ""; - case HEX_REG_HVX_VR_V0: - return "V0"; - case HEX_REG_HVX_VR_V1: - return "V1"; - case HEX_REG_HVX_VR_V2: - return "V2"; - case HEX_REG_HVX_VR_V3: - return "V3"; - case HEX_REG_HVX_VR_V4: - return "V4"; - case HEX_REG_HVX_VR_V5: - return "V5"; - case HEX_REG_HVX_VR_V6: - return "V6"; - case HEX_REG_HVX_VR_V7: - return "V7"; - case HEX_REG_HVX_VR_V8: - return "V8"; - case HEX_REG_HVX_VR_V9: - return "V9"; - case HEX_REG_HVX_VR_V10: - return "V10"; - case HEX_REG_HVX_VR_V11: - return "V11"; - case HEX_REG_HVX_VR_V12: - return "V12"; - case HEX_REG_HVX_VR_V13: - return "V13"; - case HEX_REG_HVX_VR_V14: - return "V14"; - case HEX_REG_HVX_VR_V15: - return "V15"; - case HEX_REG_HVX_VR_V16: - return "V16"; - case HEX_REG_HVX_VR_V17: - return "V17"; - case HEX_REG_HVX_VR_V18: - return "V18"; - case HEX_REG_HVX_VR_V19: - return "V19"; - case HEX_REG_HVX_VR_V20: - return "V20"; - case HEX_REG_HVX_VR_V21: - return "V21"; - case HEX_REG_HVX_VR_V22: - return "V22"; - case HEX_REG_HVX_VR_V23: - return "V23"; - case HEX_REG_HVX_VR_V24: - return "V24"; - case HEX_REG_HVX_VR_V25: - return "V25"; - case HEX_REG_HVX_VR_V26: - return "V26"; - case HEX_REG_HVX_VR_V27: - return "V27"; - case HEX_REG_HVX_VR_V28: - return "V28"; - case HEX_REG_HVX_VR_V29: - return "V29"; - case HEX_REG_HVX_VR_V30: - return "V30"; - case HEX_REG_HVX_VR_V31: - return "V31"; +const char *hex_get_hvx_vr(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_HVXVR_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_hvx_vr", name_index); + return ""; + } + const char *name = hexagon_hvxvr_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_hvx_vr", name_index); + return ""; } + return name; } -char *hex_get_hvx_wr(int opcode_reg, bool get_alias) { - switch (opcode_reg) { - default: return ""; - case HEX_REG_HVX_WR_V1_0: - return "V1:0"; - case HEX_REG_HVX_WR_V3_2: - return "V3:2"; - case HEX_REG_HVX_WR_V5_4: - return "V5:4"; - case HEX_REG_HVX_WR_V7_6: - return "V7:6"; - case HEX_REG_HVX_WR_V9_8: - return "V9:8"; - case HEX_REG_HVX_WR_V11_10: - return "V11:10"; - case HEX_REG_HVX_WR_V13_12: - return "V13:12"; - case HEX_REG_HVX_WR_V15_14: - return "V15:14"; - case HEX_REG_HVX_WR_V17_16: - return "V17:16"; - case HEX_REG_HVX_WR_V19_18: - return "V19:18"; - case HEX_REG_HVX_WR_V21_20: - return "V21:20"; - case HEX_REG_HVX_WR_V23_22: - return "V23:22"; - case HEX_REG_HVX_WR_V25_24: - return "V25:24"; - case HEX_REG_HVX_WR_V27_26: - return "V27:26"; - case HEX_REG_HVX_WR_V29_28: - return "V29:28"; - case HEX_REG_HVX_WR_V31_30: - return "V31:30"; +const char *hex_get_hvx_wr(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_HVXWR_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_hvx_wr", name_index); + return ""; } + const char *name = hexagon_hvxwr_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_hvx_wr", name_index); + return ""; + } + return name; } -char *hex_get_int_regs(int opcode_reg, bool get_alias) { - switch (opcode_reg) { - default: return ""; - case HEX_REG_INT_REGS_R0: - return "R0"; - case HEX_REG_INT_REGS_R1: - return "R1"; - case HEX_REG_INT_REGS_R2: - return "R2"; - case HEX_REG_INT_REGS_R3: - return "R3"; - case HEX_REG_INT_REGS_R4: - return "R4"; - case HEX_REG_INT_REGS_R5: - return "R5"; - case HEX_REG_INT_REGS_R6: - return "R6"; - case HEX_REG_INT_REGS_R7: - return "R7"; - case HEX_REG_INT_REGS_R8: - return "R8"; - case HEX_REG_INT_REGS_R9: - return "R9"; - case HEX_REG_INT_REGS_R12: - return "R12"; - case HEX_REG_INT_REGS_R13: - return "R13"; - case HEX_REG_INT_REGS_R14: - return "R14"; - case HEX_REG_INT_REGS_R15: - return "R15"; - case HEX_REG_INT_REGS_R16: - return "R16"; - case HEX_REG_INT_REGS_R17: - return "R17"; - case HEX_REG_INT_REGS_R18: - return "R18"; - case HEX_REG_INT_REGS_R19: - return "R19"; - case HEX_REG_INT_REGS_R20: - return "R20"; - case HEX_REG_INT_REGS_R21: - return "R21"; - case HEX_REG_INT_REGS_R22: - return "R22"; - case HEX_REG_INT_REGS_R23: - return "R23"; - case HEX_REG_INT_REGS_R24: - return "R24"; - case HEX_REG_INT_REGS_R25: - return "R25"; - case HEX_REG_INT_REGS_R26: - return "R26"; - case HEX_REG_INT_REGS_R27: - return "R27"; - case HEX_REG_INT_REGS_R28: - return "R28"; - case HEX_REG_INT_REGS_R10: - return "R10"; - case HEX_REG_INT_REGS_R11: - return "R11"; - case HEX_REG_INT_REGS_R29: - return get_alias ? "SP" : "R29"; - case HEX_REG_INT_REGS_R30: - return get_alias ? "FP" : "R30"; - case HEX_REG_INT_REGS_R31: - return get_alias ? "LR" : "R31"; +const char *hex_get_int_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_INTREGS_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_int_regs", name_index); + return ""; + } + const char *name = hexagon_intregs_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_int_regs", name_index); + return ""; } + return name; } -char *hex_get_int_regs_low8(int opcode_reg, bool get_alias) { - switch (opcode_reg) { - default: return ""; - case HEX_REG_INT_REGS_LOW8_R7: - return "R7"; - case HEX_REG_INT_REGS_LOW8_R6: - return "R6"; - case HEX_REG_INT_REGS_LOW8_R5: - return "R5"; - case HEX_REG_INT_REGS_LOW8_R4: - return "R4"; - case HEX_REG_INT_REGS_LOW8_R3: - return "R3"; - case HEX_REG_INT_REGS_LOW8_R2: - return "R2"; - case HEX_REG_INT_REGS_LOW8_R1: - return "R1"; - case HEX_REG_INT_REGS_LOW8_R0: - return "R0"; +const char *hex_get_int_regs_low8(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_INTREGSLOW8_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_int_regs_low8", name_index); + return ""; + } + const char *name = hexagon_intregslow8_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_int_regs_low8", name_index); + return ""; } + return name; } -char *hex_get_mod_regs(int opcode_reg, bool get_alias) { - opcode_reg |= 6; - switch (opcode_reg) { - default: return ""; - case HEX_REG_MOD_REGS_C6: - return get_alias ? "M0" : "C6"; - case HEX_REG_MOD_REGS_C7: - return get_alias ? "M1" : "C7"; +const char *hex_get_mod_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + if (!reg_num_is_enum) { + reg_num |= 6; } + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_MODREGS_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_mod_regs", name_index); + return ""; + } + const char *name = hexagon_modregs_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_mod_regs", name_index); + return ""; + } + return name; } -char *hex_get_pred_regs(int opcode_reg, bool get_alias) { - switch (opcode_reg) { - default: return ""; - case HEX_REG_PRED_REGS_P0: - return "P0"; - case HEX_REG_PRED_REGS_P1: - return "P1"; - case HEX_REG_PRED_REGS_P2: - return "P2"; - case HEX_REG_PRED_REGS_P3: - return "P3"; +const char *hex_get_pred_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_PREDREGS_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_pred_regs", name_index); + return ""; + } + const char *name = hexagon_predregs_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_pred_regs", name_index); + return ""; } + return name; } -char *hex_get_sys_regs(int opcode_reg, bool get_alias) { - switch (opcode_reg) { - default: return ""; - case HEX_REG_SYS_REGS_S0: - return get_alias ? "SGP0" : "S0"; - case HEX_REG_SYS_REGS_S1: - return get_alias ? "SGP1" : "S1"; - case HEX_REG_SYS_REGS_S2: - return get_alias ? "STID" : "S2"; - case HEX_REG_SYS_REGS_S3: - return get_alias ? "ELR" : "S3"; - case HEX_REG_SYS_REGS_S4: - return get_alias ? "BADVA0" : "S4"; - case HEX_REG_SYS_REGS_S5: - return get_alias ? "BADVA1" : "S5"; - case HEX_REG_SYS_REGS_S6: - return get_alias ? "SSR" : "S6"; - case HEX_REG_SYS_REGS_S7: - return get_alias ? "CCR" : "S7"; - case HEX_REG_SYS_REGS_S8: - return get_alias ? "HTID" : "S8"; - case HEX_REG_SYS_REGS_S9: - return get_alias ? "BADVA" : "S9"; - case HEX_REG_SYS_REGS_S10: - return get_alias ? "IMASK" : "S10"; - case HEX_REG_SYS_REGS_S11: - return "S11"; - case HEX_REG_SYS_REGS_S12: - return "S12"; - case HEX_REG_SYS_REGS_S13: - return "S13"; - case HEX_REG_SYS_REGS_S14: - return "S14"; - case HEX_REG_SYS_REGS_S15: - return "S15"; - case HEX_REG_SYS_REGS_S19: - return get_alias ? "S19" : "S19"; - case HEX_REG_SYS_REGS_S23: - return "S23"; - case HEX_REG_SYS_REGS_S25: - return "S25"; - case HEX_REG_SYS_REGS_S16: - return get_alias ? "EVB" : "S16"; - case HEX_REG_SYS_REGS_S17: - return get_alias ? "MODECTL" : "S17"; - case HEX_REG_SYS_REGS_S18: - return get_alias ? "SYSCFG" : "S18"; - case HEX_REG_SYS_REGS_S20: - return get_alias ? "S20" : "S20"; - case HEX_REG_SYS_REGS_S21: - return get_alias ? "VID" : "S21"; - case HEX_REG_SYS_REGS_S22: - return get_alias ? "S22" : "S22"; - case HEX_REG_SYS_REGS_S24: - return "S24"; - case HEX_REG_SYS_REGS_S26: - return "S26"; - case HEX_REG_SYS_REGS_S27: - return get_alias ? "CFGBASE" : "S27"; - case HEX_REG_SYS_REGS_S28: - return get_alias ? "DIAG" : "S28"; - case HEX_REG_SYS_REGS_S29: - return get_alias ? "REV" : "S29"; - case HEX_REG_SYS_REGS_S31: - return get_alias ? "PCYCLEHI" : "S31"; - case HEX_REG_SYS_REGS_S30: - return get_alias ? "PCYCLELO" : "S30"; - case HEX_REG_SYS_REGS_S32: - return get_alias ? "ISDBST" : "S32"; - case HEX_REG_SYS_REGS_S33: - return get_alias ? "ISDBCFG0" : "S33"; - case HEX_REG_SYS_REGS_S34: - return get_alias ? "ISDBCFG1" : "S34"; - case HEX_REG_SYS_REGS_S35: - return "S35"; - case HEX_REG_SYS_REGS_S36: - return get_alias ? "BRKPTPC0" : "S36"; - case HEX_REG_SYS_REGS_S37: - return get_alias ? "BRKPTCFG0" : "S37"; - case HEX_REG_SYS_REGS_S38: - return get_alias ? "BRKPTPC1" : "S38"; - case HEX_REG_SYS_REGS_S39: - return get_alias ? "BRKPTCFG1" : "S39"; - case HEX_REG_SYS_REGS_S40: - return get_alias ? "ISDBMBXIN" : "S40"; - case HEX_REG_SYS_REGS_S41: - return get_alias ? "ISDBMBXOUT" : "S41"; - case HEX_REG_SYS_REGS_S42: - return get_alias ? "ISDBEN" : "S42"; - case HEX_REG_SYS_REGS_S43: - return get_alias ? "ISDBGPR" : "S43"; - case HEX_REG_SYS_REGS_S44: - return "S44"; - case HEX_REG_SYS_REGS_S45: - return "S45"; - case HEX_REG_SYS_REGS_S46: - return "S46"; - case HEX_REG_SYS_REGS_S47: - return "S47"; - case HEX_REG_SYS_REGS_S48: - return get_alias ? "PMUCNT0" : "S48"; - case HEX_REG_SYS_REGS_S49: - return get_alias ? "PMUCNT1" : "S49"; - case HEX_REG_SYS_REGS_S50: - return get_alias ? "PMUCNT2" : "S50"; - case HEX_REG_SYS_REGS_S51: - return get_alias ? "PMUCNT3" : "S51"; - case HEX_REG_SYS_REGS_S52: - return get_alias ? "PMUEVTCFG" : "S52"; - case HEX_REG_SYS_REGS_S53: - return get_alias ? "PMUCFG" : "S53"; - case HEX_REG_SYS_REGS_S54: - return "S54"; - case HEX_REG_SYS_REGS_S55: - return "S55"; - case HEX_REG_SYS_REGS_S56: - return "S56"; - case HEX_REG_SYS_REGS_S57: - return "S57"; - case HEX_REG_SYS_REGS_S58: - return "S58"; - case HEX_REG_SYS_REGS_S59: - return "S59"; - case HEX_REG_SYS_REGS_S60: - return "S60"; - case HEX_REG_SYS_REGS_S61: - return "S61"; - case HEX_REG_SYS_REGS_S62: - return "S62"; - case HEX_REG_SYS_REGS_S63: - return "S63"; - case HEX_REG_SYS_REGS_S64: - return "S64"; - case HEX_REG_SYS_REGS_S65: - return "S65"; - case HEX_REG_SYS_REGS_S66: - return "S66"; - case HEX_REG_SYS_REGS_S67: - return "S67"; - case HEX_REG_SYS_REGS_S68: - return "S68"; - case HEX_REG_SYS_REGS_S69: - return "S69"; - case HEX_REG_SYS_REGS_S70: - return "S70"; - case HEX_REG_SYS_REGS_S71: - return "S71"; - case HEX_REG_SYS_REGS_S72: - return "S72"; - case HEX_REG_SYS_REGS_S73: - return "S73"; - case HEX_REG_SYS_REGS_S74: - return "S74"; - case HEX_REG_SYS_REGS_S75: - return "S75"; - case HEX_REG_SYS_REGS_S76: - return "S76"; - case HEX_REG_SYS_REGS_S77: - return "S77"; - case HEX_REG_SYS_REGS_S78: - return "S78"; - case HEX_REG_SYS_REGS_S79: - return "S79"; - case HEX_REG_SYS_REGS_S80: - return "S80"; +const char *hex_get_sys_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_SYSREGS_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_sys_regs", name_index); + return ""; } + const char *name = hexagon_sysregs_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_sys_regs", name_index); + return ""; + } + return name; } -char *hex_get_sys_regs64(int opcode_reg, bool get_alias) { - switch (opcode_reg) { - default: return ""; - case HEX_REG_SYS_REGS64_S1_0: - return get_alias ? "SGP1:0" : "S1:0"; - case HEX_REG_SYS_REGS64_S3_2: - return "S3:2"; - case HEX_REG_SYS_REGS64_S5_4: - return get_alias ? "BADVA1:0" : "S5:4"; - case HEX_REG_SYS_REGS64_S7_6: - return get_alias ? "CCR:SSR" : "S7:6"; - case HEX_REG_SYS_REGS64_S9_8: - return "S9:8"; - case HEX_REG_SYS_REGS64_S11_10: - return "S11:10"; - case HEX_REG_SYS_REGS64_S13_12: - return "S13:12"; - case HEX_REG_SYS_REGS64_S15_14: - return "S15:14"; - case HEX_REG_SYS_REGS64_S17_16: - return "S17:16"; - case HEX_REG_SYS_REGS64_S19_18: - return "S19:18"; - case HEX_REG_SYS_REGS64_S21_20: - return "S21:20"; - case HEX_REG_SYS_REGS64_S23_22: - return "S23:22"; - case HEX_REG_SYS_REGS64_S25_24: - return "S25:24"; - case HEX_REG_SYS_REGS64_S27_26: - return "S27:26"; - case HEX_REG_SYS_REGS64_S29_28: - return "S29:28"; - case HEX_REG_SYS_REGS64_S31_30: - return get_alias ? "PCYCLE" : "S31:30"; - case HEX_REG_SYS_REGS64_S33_32: - return "S33:32"; - case HEX_REG_SYS_REGS64_S35_34: - return "S35:34"; - case HEX_REG_SYS_REGS64_S37_36: - return "S37:36"; - case HEX_REG_SYS_REGS64_S39_38: - return "S39:38"; - case HEX_REG_SYS_REGS64_S41_40: - return "S41:40"; - case HEX_REG_SYS_REGS64_S43_42: - return "S43:42"; - case HEX_REG_SYS_REGS64_S45_44: - return "S45:44"; - case HEX_REG_SYS_REGS64_S47_46: - return "S47:46"; - case HEX_REG_SYS_REGS64_S49_48: - return "S49:48"; - case HEX_REG_SYS_REGS64_S51_50: - return "S51:50"; - case HEX_REG_SYS_REGS64_S53_52: - return "S53:52"; - case HEX_REG_SYS_REGS64_S55_54: - return "S55:54"; - case HEX_REG_SYS_REGS64_S57_56: - return "S57:56"; - case HEX_REG_SYS_REGS64_S59_58: - return "S59:58"; - case HEX_REG_SYS_REGS64_S61_60: - return "S61:60"; - case HEX_REG_SYS_REGS64_S63_62: - return "S63:62"; - case HEX_REG_SYS_REGS64_S65_64: - return "S65:64"; - case HEX_REG_SYS_REGS64_S67_66: - return "S67:66"; - case HEX_REG_SYS_REGS64_S69_68: - return "S69:68"; - case HEX_REG_SYS_REGS64_S71_70: - return "S71:70"; - case HEX_REG_SYS_REGS64_S73_72: - return "S73:72"; - case HEX_REG_SYS_REGS64_S75_74: - return "S75:74"; - case HEX_REG_SYS_REGS64_S77_76: - return "S77:76"; - case HEX_REG_SYS_REGS64_S79_78: - return "S79:78"; +const char *hex_get_sys_regs64(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { + ut32 name_index = reg_num * 4; + name_index += get_alias ? 1 : 0; + name_index += get_new ? 2 : 0; + if (name_index >= HEXAGON_SYSREGS64_LT_V69_SIZE) { + RZ_LOG_WARN("%s: Index out of range during register name lookup: i = %d\n", "hex_get_sys_regs64", name_index); + return ""; + } + const char *name = hexagon_sysregs64_lt_v69[name_index]; + if (!name) { + RZ_LOG_WARN("%s: No register name present at index: %d\n", "hex_get_sys_regs64", name_index); + return ""; } + return name; } -char *hex_get_reg_in_class(HexRegClass cls, int opcode_reg, bool get_alias) { +const char *hex_get_reg_in_class(HexRegClass cls, int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum) { switch (cls) { case HEX_REG_CLASS_CTR_REGS: - return hex_get_ctr_regs(opcode_reg, get_alias); + return hex_get_ctr_regs(reg_num, get_alias, get_new, reg_num_is_enum); case HEX_REG_CLASS_CTR_REGS64: - return hex_get_ctr_regs64(opcode_reg, get_alias); + return hex_get_ctr_regs64(reg_num, get_alias, get_new, reg_num_is_enum); case HEX_REG_CLASS_DOUBLE_REGS: - return hex_get_double_regs(opcode_reg, get_alias); + return hex_get_double_regs(reg_num, get_alias, get_new, reg_num_is_enum); case HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS: - return hex_get_general_double_low8_regs(opcode_reg, get_alias); + return hex_get_general_double_low8_regs(reg_num, get_alias, get_new, reg_num_is_enum); case HEX_REG_CLASS_GENERAL_SUB_REGS: - return hex_get_general_sub_regs(opcode_reg, get_alias); + return hex_get_general_sub_regs(reg_num, get_alias, get_new, reg_num_is_enum); case HEX_REG_CLASS_GUEST_REGS: - return hex_get_guest_regs(opcode_reg, get_alias); + return hex_get_guest_regs(reg_num, get_alias, get_new, reg_num_is_enum); case HEX_REG_CLASS_GUEST_REGS64: - return hex_get_guest_regs64(opcode_reg, get_alias); + return hex_get_guest_regs64(reg_num, get_alias, get_new, reg_num_is_enum); case HEX_REG_CLASS_HVX_QR: - return hex_get_hvx_qr(opcode_reg, get_alias); + return hex_get_hvx_qr(reg_num, get_alias, get_new, reg_num_is_enum); case HEX_REG_CLASS_HVX_VQR: - return hex_get_hvx_vqr(opcode_reg, get_alias); + return hex_get_hvx_vqr(reg_num, get_alias, get_new, reg_num_is_enum); case HEX_REG_CLASS_HVX_VR: - return hex_get_hvx_vr(opcode_reg, get_alias); + return hex_get_hvx_vr(reg_num, get_alias, get_new, reg_num_is_enum); case HEX_REG_CLASS_HVX_WR: - return hex_get_hvx_wr(opcode_reg, get_alias); + return hex_get_hvx_wr(reg_num, get_alias, get_new, reg_num_is_enum); case HEX_REG_CLASS_INT_REGS: - return hex_get_int_regs(opcode_reg, get_alias); + return hex_get_int_regs(reg_num, get_alias, get_new, reg_num_is_enum); case HEX_REG_CLASS_INT_REGS_LOW8: - return hex_get_int_regs_low8(opcode_reg, get_alias); + return hex_get_int_regs_low8(reg_num, get_alias, get_new, reg_num_is_enum); case HEX_REG_CLASS_MOD_REGS: - return hex_get_mod_regs(opcode_reg, get_alias); + return hex_get_mod_regs(reg_num, get_alias, get_new, reg_num_is_enum); case HEX_REG_CLASS_PRED_REGS: - return hex_get_pred_regs(opcode_reg, get_alias); + return hex_get_pred_regs(reg_num, get_alias, get_new, reg_num_is_enum); case HEX_REG_CLASS_SYS_REGS: - return hex_get_sys_regs(opcode_reg, get_alias); + return hex_get_sys_regs(reg_num, get_alias, get_new, reg_num_is_enum); case HEX_REG_CLASS_SYS_REGS64: - return hex_get_sys_regs64(opcode_reg, get_alias); + return hex_get_sys_regs64(reg_num, get_alias, get_new, reg_num_is_enum); default: return NULL; } diff --git a/rizin/librz/asm/arch/hexagon/hexagon.h b/rizin/librz/asm/arch/hexagon/hexagon.h index 57e9a711..66df81d5 100644 --- a/rizin/librz/asm/arch/hexagon/hexagon.h +++ b/rizin/librz/asm/arch/hexagon/hexagon.h @@ -3,7 +3,7 @@ // LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 // LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) -// Date of code generation: 2022-06-06 07:42:58-04:00 +// Date of code generation: 2022-07-16 14:59:57-04:00 //======================================== // The following code is generated. // Do not edit. Repository of code generator: @@ -53,7 +53,6 @@ typedef enum { typedef enum { HEX_OP_TYPE_IMM, HEX_OP_TYPE_REG, - // TODO It might be useful to differ between control, HVX, guest regs etc. Also see HexOp } HexOpType; // Attributes - .H/.L, const extender @@ -82,19 +81,21 @@ typedef struct { } HexPktInfo; typedef struct { - ut8 type; + ut8 /* HexOpType */ type; ///< Operand type: Immediate or register + ut8 class; ///< Equivalent to: HexRegClass (for registers) OR HexOpTemplateFlag (for immediate values). + char isa_id; ///< The identifier character in the ISA of this instruction: 'd' for Rdd, I for Ii etc. 0x0 if not known. union { - ut8 reg; // + additional Hi or Lo selector // + additional shift // + additional :brev // - st64 imm; - } op; - HexOpAttr attr; - ut8 shift; + ut8 reg; ///< Register number. E.g. 3 for R3 etc. + st64 imm; ///< Immediate value. + } op; ///< Actual value of the operand. + HexOpAttr attr; ///< Attributes of the operand. + ut8 shift; ///< Number of bits to shift the bits in the opcode to retrieve the operand value. } HexOp; -typedef RzILOpEffect *(*HexILOpGetter)(HexInsn *); +typedef RzILOpEffect *(*HexILOpGetter)(void /*HexInsn*/ *); typedef enum { - HEX_IL_INSN_ATTR_INVALID = 0, ///< Operation was not set. + HEX_IL_INSN_ATTR_INVALID = 0, ///< Operation was not set or implemented. HEX_IL_INSN_ATTR_NONE = 1 << 0, ///< Nothing special about this operation. HEX_IL_INSN_ATTR_COND = 1 << 1, ///< Executes differently if a certain condition is met. HEX_IL_INSN_ATTR_SUB = 1 << 2, ///< Operation is a sub-instruction. @@ -108,8 +109,8 @@ typedef enum { * \brief Represents a single operation of an instruction. */ typedef struct { - HexILInsnAttr attr; ///< Certain attributes of the operations which are used for shuffling operations in the packet. HexILOpGetter get_il_op; ///< Pointer to the getter to retrieve the RzILOpEffects of this operation. + HexILInsnAttr attr; ///< Certain attributes of the operations which are used for shuffling operations in the packet. } HexILOp; /** @@ -589,30 +590,854 @@ typedef enum { HEX_REG_SYS_REGS64_S79_78 = 78, } HEX_SYS_REGS64; // SysRegs64 -#define BIT_MASK(len) (BIT(len) - 1) -#define BF_MASK(start, len) (BIT_MASK(len) << (start)) -#define BF_PREP(x, start, len) (((x)&BIT_MASK(len)) << (start)) -#define BF_GET(y, start, len) (((y) >> (start)) & BIT_MASK(len)) +typedef enum { + HEX_REG_ALIAS_SA0, // c0 + HEX_REG_ALIAS_LC0, // c1 + HEX_REG_ALIAS_SA1, // c2 + HEX_REG_ALIAS_LC1, // c3 + HEX_REG_ALIAS_P3_0, // c4 + HEX_REG_ALIAS_C5, // c5 + HEX_REG_ALIAS_M0, // c6 + HEX_REG_ALIAS_M1, // c7 + HEX_REG_ALIAS_USR, // c8 + HEX_REG_ALIAS_PC, // c9 + HEX_REG_ALIAS_UGP, // c10 + HEX_REG_ALIAS_GP, // c11 + HEX_REG_ALIAS_CS0, // c12 + HEX_REG_ALIAS_CS1, // c13 + HEX_REG_ALIAS_UPCYCLELO, // c14 + HEX_REG_ALIAS_UPCYCLEHI, // c15 + HEX_REG_ALIAS_FRAMELIMIT, // c16 + HEX_REG_ALIAS_FRAMEKEY, // c17 + HEX_REG_ALIAS_PKTCOUNTLO, // c18 + HEX_REG_ALIAS_PKTCOUNTHI, // c19 + HEX_REG_ALIAS_UTIMERLO, // c30 + HEX_REG_ALIAS_UTIMERHI, // c31 + HEX_REG_ALIAS_LC0_SA0, // c1:0 + HEX_REG_ALIAS_LC1_SA1, // c3:2 + HEX_REG_ALIAS_M1_0, // c7:6 + HEX_REG_ALIAS_CS1_0, // c13:12 + HEX_REG_ALIAS_UPCYCLE, // c15:14 + HEX_REG_ALIAS_PKTCOUNT, // c19:18 + HEX_REG_ALIAS_UTIMER, // c31:30 + HEX_REG_ALIAS_LR_FP, // r31:30 + HEX_REG_ALIAS_GELR, // g0 + HEX_REG_ALIAS_GSR, // g1 + HEX_REG_ALIAS_GOSP, // g2 + HEX_REG_ALIAS_GBADVA, // g3 + HEX_REG_ALIAS_GPMUCNT4, // g16 + HEX_REG_ALIAS_GPMUCNT5, // g17 + HEX_REG_ALIAS_GPMUCNT6, // g18 + HEX_REG_ALIAS_GPMUCNT7, // g19 + HEX_REG_ALIAS_GPCYCLELO, // g24 + HEX_REG_ALIAS_GPCYCLEHI, // g25 + HEX_REG_ALIAS_GPMUCNT0, // g26 + HEX_REG_ALIAS_GPMUCNT1, // g27 + HEX_REG_ALIAS_GPMUCNT2, // g28 + HEX_REG_ALIAS_GPMUCNT3, // g29 + HEX_REG_ALIAS_SP, // r29 + HEX_REG_ALIAS_FP, // r30 + HEX_REG_ALIAS_LR, // r31 + HEX_REG_ALIAS_SGP0, // s0 + HEX_REG_ALIAS_SGP1, // s1 + HEX_REG_ALIAS_STID, // s2 + HEX_REG_ALIAS_ELR, // s3 + HEX_REG_ALIAS_BADVA0, // s4 + HEX_REG_ALIAS_BADVA1, // s5 + HEX_REG_ALIAS_SSR, // s6 + HEX_REG_ALIAS_CCR, // s7 + HEX_REG_ALIAS_HTID, // s8 + HEX_REG_ALIAS_BADVA, // s9 + HEX_REG_ALIAS_IMASK, // s10 + HEX_REG_ALIAS_EVB, // s16 + HEX_REG_ALIAS_MODECTL, // s17 + HEX_REG_ALIAS_SYSCFG, // s18 + HEX_REG_ALIAS_S19, // s19 + HEX_REG_ALIAS_S20, // s20 + HEX_REG_ALIAS_VID, // s21 + HEX_REG_ALIAS_S22, // s22 + HEX_REG_ALIAS_CFGBASE, // s27 + HEX_REG_ALIAS_DIAG, // s28 + HEX_REG_ALIAS_REV, // s29 + HEX_REG_ALIAS_PCYCLELO, // s30 + HEX_REG_ALIAS_PCYCLEHI, // s31 + HEX_REG_ALIAS_ISDBST, // s32 + HEX_REG_ALIAS_ISDBCFG0, // s33 + HEX_REG_ALIAS_ISDBCFG1, // s34 + HEX_REG_ALIAS_BRKPTPC0, // s36 + HEX_REG_ALIAS_BRKPTCFG0, // s37 + HEX_REG_ALIAS_BRKPTPC1, // s38 + HEX_REG_ALIAS_BRKPTCFG1, // s39 + HEX_REG_ALIAS_ISDBMBXIN, // s40 + HEX_REG_ALIAS_ISDBMBXOUT, // s41 + HEX_REG_ALIAS_ISDBEN, // s42 + HEX_REG_ALIAS_ISDBGPR, // s43 + HEX_REG_ALIAS_PMUCNT0, // s48 + HEX_REG_ALIAS_PMUCNT1, // s49 + HEX_REG_ALIAS_PMUCNT2, // s50 + HEX_REG_ALIAS_PMUCNT3, // s51 + HEX_REG_ALIAS_PMUEVTCFG, // s52 + HEX_REG_ALIAS_PMUCFG, // s53 + HEX_REG_ALIAS_SGP1_0, // s1:0 + HEX_REG_ALIAS_BADVA1_0, // s5:4 + HEX_REG_ALIAS_CCR_SSR, // s7:6 + HEX_REG_ALIAS_PCYCLE, // s31:30 +} HexRegAlias; + +/** + * \brief Lookup table for register alias. + * Index calculation: + * ALIAS_ENUM * 2 => HexRegClass. + * (ALIAS_ENUM * 2) + 1 => Enum of real register + */ +ut32 hex_alias_reg_lt_v69[] = { + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C0, // HEX_REG_ALIAS_SA0 + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C1, // HEX_REG_ALIAS_LC0 + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C2, // HEX_REG_ALIAS_SA1 + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C3, // HEX_REG_ALIAS_LC1 + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C4, // HEX_REG_ALIAS_P3_0 + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C5, // HEX_REG_ALIAS_C5 + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C6, // HEX_REG_ALIAS_M0 + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C7, // HEX_REG_ALIAS_M1 + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C8, // HEX_REG_ALIAS_USR + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C9, // HEX_REG_ALIAS_PC + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C10, // HEX_REG_ALIAS_UGP + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C11, // HEX_REG_ALIAS_GP + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C12, // HEX_REG_ALIAS_CS0 + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C13, // HEX_REG_ALIAS_CS1 + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C14, // HEX_REG_ALIAS_UPCYCLELO + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C15, // HEX_REG_ALIAS_UPCYCLEHI + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C16, // HEX_REG_ALIAS_FRAMELIMIT + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C17, // HEX_REG_ALIAS_FRAMEKEY + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C18, // HEX_REG_ALIAS_PKTCOUNTLO + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C19, // HEX_REG_ALIAS_PKTCOUNTHI + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C30, // HEX_REG_ALIAS_UTIMERLO + HEX_REG_CLASS_CTR_REGS, HEX_REG_CTR_REGS_C31, // HEX_REG_ALIAS_UTIMERHI + HEX_REG_CLASS_CTR_REGS64, HEX_REG_CTR_REGS64_C1_0, // HEX_REG_ALIAS_LC0_SA0 + HEX_REG_CLASS_CTR_REGS64, HEX_REG_CTR_REGS64_C3_2, // HEX_REG_ALIAS_LC1_SA1 + HEX_REG_CLASS_CTR_REGS64, HEX_REG_CTR_REGS64_C7_6, // HEX_REG_ALIAS_M1_0 + HEX_REG_CLASS_CTR_REGS64, HEX_REG_CTR_REGS64_C13_12, // HEX_REG_ALIAS_CS1_0 + HEX_REG_CLASS_CTR_REGS64, HEX_REG_CTR_REGS64_C15_14, // HEX_REG_ALIAS_UPCYCLE + HEX_REG_CLASS_CTR_REGS64, HEX_REG_CTR_REGS64_C19_18, // HEX_REG_ALIAS_PKTCOUNT + HEX_REG_CLASS_CTR_REGS64, HEX_REG_CTR_REGS64_C31_30, // HEX_REG_ALIAS_UTIMER + HEX_REG_CLASS_DOUBLE_REGS, HEX_REG_DOUBLE_REGS_R31_30, // HEX_REG_ALIAS_LR_FP + HEX_REG_CLASS_GUEST_REGS, HEX_REG_GUEST_REGS_G0, // HEX_REG_ALIAS_GELR + HEX_REG_CLASS_GUEST_REGS, HEX_REG_GUEST_REGS_G1, // HEX_REG_ALIAS_GSR + HEX_REG_CLASS_GUEST_REGS, HEX_REG_GUEST_REGS_G2, // HEX_REG_ALIAS_GOSP + HEX_REG_CLASS_GUEST_REGS, HEX_REG_GUEST_REGS_G3, // HEX_REG_ALIAS_GBADVA + HEX_REG_CLASS_GUEST_REGS, HEX_REG_GUEST_REGS_G16, // HEX_REG_ALIAS_GPMUCNT4 + HEX_REG_CLASS_GUEST_REGS, HEX_REG_GUEST_REGS_G17, // HEX_REG_ALIAS_GPMUCNT5 + HEX_REG_CLASS_GUEST_REGS, HEX_REG_GUEST_REGS_G18, // HEX_REG_ALIAS_GPMUCNT6 + HEX_REG_CLASS_GUEST_REGS, HEX_REG_GUEST_REGS_G19, // HEX_REG_ALIAS_GPMUCNT7 + HEX_REG_CLASS_GUEST_REGS, HEX_REG_GUEST_REGS_G24, // HEX_REG_ALIAS_GPCYCLELO + HEX_REG_CLASS_GUEST_REGS, HEX_REG_GUEST_REGS_G25, // HEX_REG_ALIAS_GPCYCLEHI + HEX_REG_CLASS_GUEST_REGS, HEX_REG_GUEST_REGS_G26, // HEX_REG_ALIAS_GPMUCNT0 + HEX_REG_CLASS_GUEST_REGS, HEX_REG_GUEST_REGS_G27, // HEX_REG_ALIAS_GPMUCNT1 + HEX_REG_CLASS_GUEST_REGS, HEX_REG_GUEST_REGS_G28, // HEX_REG_ALIAS_GPMUCNT2 + HEX_REG_CLASS_GUEST_REGS, HEX_REG_GUEST_REGS_G29, // HEX_REG_ALIAS_GPMUCNT3 + HEX_REG_CLASS_INT_REGS, HEX_REG_INT_REGS_R29, // HEX_REG_ALIAS_SP + HEX_REG_CLASS_INT_REGS, HEX_REG_INT_REGS_R30, // HEX_REG_ALIAS_FP + HEX_REG_CLASS_INT_REGS, HEX_REG_INT_REGS_R31, // HEX_REG_ALIAS_LR + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S0, // HEX_REG_ALIAS_SGP0 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S1, // HEX_REG_ALIAS_SGP1 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S2, // HEX_REG_ALIAS_STID + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S3, // HEX_REG_ALIAS_ELR + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S4, // HEX_REG_ALIAS_BADVA0 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S5, // HEX_REG_ALIAS_BADVA1 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S6, // HEX_REG_ALIAS_SSR + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S7, // HEX_REG_ALIAS_CCR + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S8, // HEX_REG_ALIAS_HTID + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S9, // HEX_REG_ALIAS_BADVA + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S10, // HEX_REG_ALIAS_IMASK + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S16, // HEX_REG_ALIAS_EVB + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S17, // HEX_REG_ALIAS_MODECTL + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S18, // HEX_REG_ALIAS_SYSCFG + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S19, // HEX_REG_ALIAS_S19 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S20, // HEX_REG_ALIAS_S20 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S21, // HEX_REG_ALIAS_VID + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S22, // HEX_REG_ALIAS_S22 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S27, // HEX_REG_ALIAS_CFGBASE + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S28, // HEX_REG_ALIAS_DIAG + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S29, // HEX_REG_ALIAS_REV + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S30, // HEX_REG_ALIAS_PCYCLELO + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S31, // HEX_REG_ALIAS_PCYCLEHI + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S32, // HEX_REG_ALIAS_ISDBST + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S33, // HEX_REG_ALIAS_ISDBCFG0 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S34, // HEX_REG_ALIAS_ISDBCFG1 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S36, // HEX_REG_ALIAS_BRKPTPC0 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S37, // HEX_REG_ALIAS_BRKPTCFG0 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S38, // HEX_REG_ALIAS_BRKPTPC1 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S39, // HEX_REG_ALIAS_BRKPTCFG1 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S40, // HEX_REG_ALIAS_ISDBMBXIN + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S41, // HEX_REG_ALIAS_ISDBMBXOUT + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S42, // HEX_REG_ALIAS_ISDBEN + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S43, // HEX_REG_ALIAS_ISDBGPR + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S48, // HEX_REG_ALIAS_PMUCNT0 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S49, // HEX_REG_ALIAS_PMUCNT1 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S50, // HEX_REG_ALIAS_PMUCNT2 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S51, // HEX_REG_ALIAS_PMUCNT3 + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S52, // HEX_REG_ALIAS_PMUEVTCFG + HEX_REG_CLASS_SYS_REGS, HEX_REG_SYS_REGS_S53, // HEX_REG_ALIAS_PMUCFG + HEX_REG_CLASS_SYS_REGS64, HEX_REG_SYS_REGS64_S1_0, // HEX_REG_ALIAS_SGP1_0 + HEX_REG_CLASS_SYS_REGS64, HEX_REG_SYS_REGS64_S5_4, // HEX_REG_ALIAS_BADVA1_0 + HEX_REG_CLASS_SYS_REGS64, HEX_REG_SYS_REGS64_S7_6, // HEX_REG_ALIAS_CCR_SSR + HEX_REG_CLASS_SYS_REGS64, HEX_REG_SYS_REGS64_S31_30, // HEX_REG_ALIAS_PCYCLE +}; + +/** + * \brief Lookup table for register names and alias of class CtrRegs. + */ +const char *hexagon_ctrregs_lt_v69[] = { + "c0", "sa0", "c0_tmp", "sa0_tmp", // HEX_REG_CTR_REGS_C0 + "c1", "lc0", "c1_tmp", "lc0_tmp", // HEX_REG_CTR_REGS_C1 + "c2", "sa1", "c2_tmp", "sa1_tmp", // HEX_REG_CTR_REGS_C2 + "c3", "lc1", "c3_tmp", "lc1_tmp", // HEX_REG_CTR_REGS_C3 + "c4", "p3:0", "c4_tmp", "p3:0_tmp", // HEX_REG_CTR_REGS_C4 + "c5", "c5", "c5_tmp", "c5_tmp", // HEX_REG_CTR_REGS_C5 + "c6", "m0", "c6_tmp", "m0_tmp", // HEX_REG_CTR_REGS_C6 + "c7", "m1", "c7_tmp", "m1_tmp", // HEX_REG_CTR_REGS_C7 + "c8", "usr", "c8_tmp", "usr_tmp", // HEX_REG_CTR_REGS_C8 + "c9", "pc", "c9_tmp", "pc_tmp", // HEX_REG_CTR_REGS_C9 + "c10", "ugp", "c10_tmp", "ugp_tmp", // HEX_REG_CTR_REGS_C10 + "c11", "gp", "c11_tmp", "gp_tmp", // HEX_REG_CTR_REGS_C11 + "c12", "cs0", "c12_tmp", "cs0_tmp", // HEX_REG_CTR_REGS_C12 + "c13", "cs1", "c13_tmp", "cs1_tmp", // HEX_REG_CTR_REGS_C13 + "c14", "upcyclelo", "c14_tmp", "upcyclelo_tmp", // HEX_REG_CTR_REGS_C14 + "c15", "upcyclehi", "c15_tmp", "upcyclehi_tmp", // HEX_REG_CTR_REGS_C15 + "c16", "framelimit", "c16_tmp", "framelimit_tmp", // HEX_REG_CTR_REGS_C16 + "c17", "framekey", "c17_tmp", "framekey_tmp", // HEX_REG_CTR_REGS_C17 + "c18", "pktcountlo", "c18_tmp", "pktcountlo_tmp", // HEX_REG_CTR_REGS_C18 + "c19", "pktcounthi", "c19_tmp", "pktcounthi_tmp", // HEX_REG_CTR_REGS_C19 + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + "c30", "utimerlo", "c30_tmp", "utimerlo_tmp", // HEX_REG_CTR_REGS_C30 + "c31", "utimerhi", "c31_tmp", "utimerhi_tmp", // HEX_REG_CTR_REGS_C31 +}; +#define HEXAGON_CTRREGS_LT_V69_SIZE 128 + +/** + * \brief Lookup table for register names and alias of class CtrRegs64. + */ +const char *hexagon_ctrregs64_lt_v69[] = { + "c1:0", "lc0:sa0", "c1:0_tmp", "lc0:sa0_tmp", // HEX_REG_CTR_REGS64_C1_0 + NULL, NULL, NULL, NULL, // - + "c3:2", "lc1:sa1", "c3:2_tmp", "lc1:sa1_tmp", // HEX_REG_CTR_REGS64_C3_2 + NULL, NULL, NULL, NULL, // - + "c5:4", "c5:4", "c5:4_tmp", "c5:4_tmp", // HEX_REG_CTR_REGS64_C5_4 + NULL, NULL, NULL, NULL, // - + "c7:6", "m1:0", "c7:6_tmp", "m1:0_tmp", // HEX_REG_CTR_REGS64_C7_6 + NULL, NULL, NULL, NULL, // - + "c9:8", "c9:8", "c9:8_tmp", "c9:8_tmp", // HEX_REG_CTR_REGS64_C9_8 + NULL, NULL, NULL, NULL, // - + "c11:10", "c11:10", "c11:10_tmp", "c11:10_tmp", // HEX_REG_CTR_REGS64_C11_10 + NULL, NULL, NULL, NULL, // - + "c13:12", "cs1:0", "c13:12_tmp", "cs1:0_tmp", // HEX_REG_CTR_REGS64_C13_12 + NULL, NULL, NULL, NULL, // - + "c15:14", "upcycle", "c15:14_tmp", "upcycle_tmp", // HEX_REG_CTR_REGS64_C15_14 + NULL, NULL, NULL, NULL, // - + "c17:16", "c17:16", "c17:16_tmp", "c17:16_tmp", // HEX_REG_CTR_REGS64_C17_16 + NULL, NULL, NULL, NULL, // - + "c19:18", "pktcount", "c19:18_tmp", "pktcount_tmp", // HEX_REG_CTR_REGS64_C19_18 + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + "c31:30", "utimer", "c31:30_tmp", "utimer_tmp", // HEX_REG_CTR_REGS64_C31_30 +}; +#define HEXAGON_CTRREGS64_LT_V69_SIZE 124 + +/** + * \brief Lookup table for register names and alias of class DoubleRegs. + */ +const char *hexagon_doubleregs_lt_v69[] = { + "r1:0", "r1:0", "r1:0_tmp", "r1:0_tmp", // HEX_REG_DOUBLE_REGS_R1_0 + NULL, NULL, NULL, NULL, // - + "r3:2", "r3:2", "r3:2_tmp", "r3:2_tmp", // HEX_REG_DOUBLE_REGS_R3_2 + NULL, NULL, NULL, NULL, // - + "r5:4", "r5:4", "r5:4_tmp", "r5:4_tmp", // HEX_REG_DOUBLE_REGS_R5_4 + NULL, NULL, NULL, NULL, // - + "r7:6", "r7:6", "r7:6_tmp", "r7:6_tmp", // HEX_REG_DOUBLE_REGS_R7_6 + NULL, NULL, NULL, NULL, // - + "r9:8", "r9:8", "r9:8_tmp", "r9:8_tmp", // HEX_REG_DOUBLE_REGS_R9_8 + NULL, NULL, NULL, NULL, // - + "r11:10", "r11:10", "r11:10_tmp", "r11:10_tmp", // HEX_REG_DOUBLE_REGS_R11_10 + NULL, NULL, NULL, NULL, // - + "r13:12", "r13:12", "r13:12_tmp", "r13:12_tmp", // HEX_REG_DOUBLE_REGS_R13_12 + NULL, NULL, NULL, NULL, // - + "r15:14", "r15:14", "r15:14_tmp", "r15:14_tmp", // HEX_REG_DOUBLE_REGS_R15_14 + NULL, NULL, NULL, NULL, // - + "r17:16", "r17:16", "r17:16_tmp", "r17:16_tmp", // HEX_REG_DOUBLE_REGS_R17_16 + NULL, NULL, NULL, NULL, // - + "r19:18", "r19:18", "r19:18_tmp", "r19:18_tmp", // HEX_REG_DOUBLE_REGS_R19_18 + NULL, NULL, NULL, NULL, // - + "r21:20", "r21:20", "r21:20_tmp", "r21:20_tmp", // HEX_REG_DOUBLE_REGS_R21_20 + NULL, NULL, NULL, NULL, // - + "r23:22", "r23:22", "r23:22_tmp", "r23:22_tmp", // HEX_REG_DOUBLE_REGS_R23_22 + NULL, NULL, NULL, NULL, // - + "r25:24", "r25:24", "r25:24_tmp", "r25:24_tmp", // HEX_REG_DOUBLE_REGS_R25_24 + NULL, NULL, NULL, NULL, // - + "r27:26", "r27:26", "r27:26_tmp", "r27:26_tmp", // HEX_REG_DOUBLE_REGS_R27_26 + NULL, NULL, NULL, NULL, // - + "r29:28", "r29:28", "r29:28_tmp", "r29:28_tmp", // HEX_REG_DOUBLE_REGS_R29_28 + NULL, NULL, NULL, NULL, // - + "r31:30", "lr:fp", "r31:30_tmp", "lr:fp_tmp", // HEX_REG_DOUBLE_REGS_R31_30 +}; +#define HEXAGON_DOUBLEREGS_LT_V69_SIZE 124 + +/** + * \brief Lookup table for register names and alias of class GeneralDoubleLow8Regs. + */ +const char *hexagon_generaldoublelow8regs_lt_v69[] = { + "r1:0", "r1:0", "r1:0_tmp", "r1:0_tmp", // HEX_REG_GENERAL_DOUBLE_LOW8_REGS_R1_0 + NULL, NULL, NULL, NULL, // - + "r3:2", "r3:2", "r3:2_tmp", "r3:2_tmp", // HEX_REG_GENERAL_DOUBLE_LOW8_REGS_R3_2 + NULL, NULL, NULL, NULL, // - + "r5:4", "r5:4", "r5:4_tmp", "r5:4_tmp", // HEX_REG_GENERAL_DOUBLE_LOW8_REGS_R5_4 + NULL, NULL, NULL, NULL, // - + "r7:6", "r7:6", "r7:6_tmp", "r7:6_tmp", // HEX_REG_GENERAL_DOUBLE_LOW8_REGS_R7_6 + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + "r17:16", "r17:16", "r17:16_tmp", "r17:16_tmp", // HEX_REG_GENERAL_DOUBLE_LOW8_REGS_R17_16 + NULL, NULL, NULL, NULL, // - + "r19:18", "r19:18", "r19:18_tmp", "r19:18_tmp", // HEX_REG_GENERAL_DOUBLE_LOW8_REGS_R19_18 + NULL, NULL, NULL, NULL, // - + "r21:20", "r21:20", "r21:20_tmp", "r21:20_tmp", // HEX_REG_GENERAL_DOUBLE_LOW8_REGS_R21_20 + NULL, NULL, NULL, NULL, // - + "r23:22", "r23:22", "r23:22_tmp", "r23:22_tmp", // HEX_REG_GENERAL_DOUBLE_LOW8_REGS_R23_22 +}; +#define HEXAGON_GENERALDOUBLELOW8REGS_LT_V69_SIZE 92 + +/** + * \brief Lookup table for register names and alias of class GeneralSubRegs. + */ +const char *hexagon_generalsubregs_lt_v69[] = { + "r0", "r0", "r0_tmp", "r0_tmp", // HEX_REG_GENERAL_SUB_REGS_R0 + "r1", "r1", "r1_tmp", "r1_tmp", // HEX_REG_GENERAL_SUB_REGS_R1 + "r2", "r2", "r2_tmp", "r2_tmp", // HEX_REG_GENERAL_SUB_REGS_R2 + "r3", "r3", "r3_tmp", "r3_tmp", // HEX_REG_GENERAL_SUB_REGS_R3 + "r4", "r4", "r4_tmp", "r4_tmp", // HEX_REG_GENERAL_SUB_REGS_R4 + "r5", "r5", "r5_tmp", "r5_tmp", // HEX_REG_GENERAL_SUB_REGS_R5 + "r6", "r6", "r6_tmp", "r6_tmp", // HEX_REG_GENERAL_SUB_REGS_R6 + "r7", "r7", "r7_tmp", "r7_tmp", // HEX_REG_GENERAL_SUB_REGS_R7 + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + "r16", "r16", "r16_tmp", "r16_tmp", // HEX_REG_GENERAL_SUB_REGS_R16 + "r17", "r17", "r17_tmp", "r17_tmp", // HEX_REG_GENERAL_SUB_REGS_R17 + "r18", "r18", "r18_tmp", "r18_tmp", // HEX_REG_GENERAL_SUB_REGS_R18 + "r19", "r19", "r19_tmp", "r19_tmp", // HEX_REG_GENERAL_SUB_REGS_R19 + "r20", "r20", "r20_tmp", "r20_tmp", // HEX_REG_GENERAL_SUB_REGS_R20 + "r21", "r21", "r21_tmp", "r21_tmp", // HEX_REG_GENERAL_SUB_REGS_R21 + "r22", "r22", "r22_tmp", "r22_tmp", // HEX_REG_GENERAL_SUB_REGS_R22 + "r23", "r23", "r23_tmp", "r23_tmp", // HEX_REG_GENERAL_SUB_REGS_R23 +}; +#define HEXAGON_GENERALSUBREGS_LT_V69_SIZE 96 + +/** + * \brief Lookup table for register names and alias of class GuestRegs. + */ +const char *hexagon_guestregs_lt_v69[] = { + "g0", "gelr", "g0_tmp", "gelr_tmp", // HEX_REG_GUEST_REGS_G0 + "g1", "gsr", "g1_tmp", "gsr_tmp", // HEX_REG_GUEST_REGS_G1 + "g2", "gosp", "g2_tmp", "gosp_tmp", // HEX_REG_GUEST_REGS_G2 + "g3", "gbadva", "g3_tmp", "gbadva_tmp", // HEX_REG_GUEST_REGS_G3 + "g4", "g4", "g4_tmp", "g4_tmp", // HEX_REG_GUEST_REGS_G4 + "g5", "g5", "g5_tmp", "g5_tmp", // HEX_REG_GUEST_REGS_G5 + "g6", "g6", "g6_tmp", "g6_tmp", // HEX_REG_GUEST_REGS_G6 + "g7", "g7", "g7_tmp", "g7_tmp", // HEX_REG_GUEST_REGS_G7 + "g8", "g8", "g8_tmp", "g8_tmp", // HEX_REG_GUEST_REGS_G8 + "g9", "g9", "g9_tmp", "g9_tmp", // HEX_REG_GUEST_REGS_G9 + "g10", "g10", "g10_tmp", "g10_tmp", // HEX_REG_GUEST_REGS_G10 + "g11", "g11", "g11_tmp", "g11_tmp", // HEX_REG_GUEST_REGS_G11 + "g12", "g12", "g12_tmp", "g12_tmp", // HEX_REG_GUEST_REGS_G12 + "g13", "g13", "g13_tmp", "g13_tmp", // HEX_REG_GUEST_REGS_G13 + "g14", "g14", "g14_tmp", "g14_tmp", // HEX_REG_GUEST_REGS_G14 + "g15", "g15", "g15_tmp", "g15_tmp", // HEX_REG_GUEST_REGS_G15 + "g16", "gpmucnt4", "g16_tmp", "gpmucnt4_tmp", // HEX_REG_GUEST_REGS_G16 + "g17", "gpmucnt5", "g17_tmp", "gpmucnt5_tmp", // HEX_REG_GUEST_REGS_G17 + "g18", "gpmucnt6", "g18_tmp", "gpmucnt6_tmp", // HEX_REG_GUEST_REGS_G18 + "g19", "gpmucnt7", "g19_tmp", "gpmucnt7_tmp", // HEX_REG_GUEST_REGS_G19 + "g20", "g20", "g20_tmp", "g20_tmp", // HEX_REG_GUEST_REGS_G20 + "g21", "g21", "g21_tmp", "g21_tmp", // HEX_REG_GUEST_REGS_G21 + "g22", "g22", "g22_tmp", "g22_tmp", // HEX_REG_GUEST_REGS_G22 + "g23", "g23", "g23_tmp", "g23_tmp", // HEX_REG_GUEST_REGS_G23 + "g24", "gpcyclelo", "g24_tmp", "gpcyclelo_tmp", // HEX_REG_GUEST_REGS_G24 + "g25", "gpcyclehi", "g25_tmp", "gpcyclehi_tmp", // HEX_REG_GUEST_REGS_G25 + "g26", "gpmucnt0", "g26_tmp", "gpmucnt0_tmp", // HEX_REG_GUEST_REGS_G26 + "g27", "gpmucnt1", "g27_tmp", "gpmucnt1_tmp", // HEX_REG_GUEST_REGS_G27 + "g28", "gpmucnt2", "g28_tmp", "gpmucnt2_tmp", // HEX_REG_GUEST_REGS_G28 + "g29", "gpmucnt3", "g29_tmp", "gpmucnt3_tmp", // HEX_REG_GUEST_REGS_G29 + "g30", "g30", "g30_tmp", "g30_tmp", // HEX_REG_GUEST_REGS_G30 + "g31", "g31", "g31_tmp", "g31_tmp", // HEX_REG_GUEST_REGS_G31 +}; +#define HEXAGON_GUESTREGS_LT_V69_SIZE 128 + +/** + * \brief Lookup table for register names and alias of class GuestRegs64. + */ +const char *hexagon_guestregs64_lt_v69[] = { + "g1:0", "g1:0", "g1:0_tmp", "g1:0_tmp", // HEX_REG_GUEST_REGS64_G1_0 + NULL, NULL, NULL, NULL, // - + "g3:2", "g3:2", "g3:2_tmp", "g3:2_tmp", // HEX_REG_GUEST_REGS64_G3_2 + NULL, NULL, NULL, NULL, // - + "g5:4", "g5:4", "g5:4_tmp", "g5:4_tmp", // HEX_REG_GUEST_REGS64_G5_4 + NULL, NULL, NULL, NULL, // - + "g7:6", "g7:6", "g7:6_tmp", "g7:6_tmp", // HEX_REG_GUEST_REGS64_G7_6 + NULL, NULL, NULL, NULL, // - + "g9:8", "g9:8", "g9:8_tmp", "g9:8_tmp", // HEX_REG_GUEST_REGS64_G9_8 + NULL, NULL, NULL, NULL, // - + "g11:10", "g11:10", "g11:10_tmp", "g11:10_tmp", // HEX_REG_GUEST_REGS64_G11_10 + NULL, NULL, NULL, NULL, // - + "g13:12", "g13:12", "g13:12_tmp", "g13:12_tmp", // HEX_REG_GUEST_REGS64_G13_12 + NULL, NULL, NULL, NULL, // - + "g15:14", "g15:14", "g15:14_tmp", "g15:14_tmp", // HEX_REG_GUEST_REGS64_G15_14 + NULL, NULL, NULL, NULL, // - + "g17:16", "g17:16", "g17:16_tmp", "g17:16_tmp", // HEX_REG_GUEST_REGS64_G17_16 + NULL, NULL, NULL, NULL, // - + "g19:18", "g19:18", "g19:18_tmp", "g19:18_tmp", // HEX_REG_GUEST_REGS64_G19_18 + NULL, NULL, NULL, NULL, // - + "g21:20", "g21:20", "g21:20_tmp", "g21:20_tmp", // HEX_REG_GUEST_REGS64_G21_20 + NULL, NULL, NULL, NULL, // - + "g23:22", "g23:22", "g23:22_tmp", "g23:22_tmp", // HEX_REG_GUEST_REGS64_G23_22 + NULL, NULL, NULL, NULL, // - + "g25:24", "g25:24", "g25:24_tmp", "g25:24_tmp", // HEX_REG_GUEST_REGS64_G25_24 + NULL, NULL, NULL, NULL, // - + "g27:26", "g27:26", "g27:26_tmp", "g27:26_tmp", // HEX_REG_GUEST_REGS64_G27_26 + NULL, NULL, NULL, NULL, // - + "g29:28", "g29:28", "g29:28_tmp", "g29:28_tmp", // HEX_REG_GUEST_REGS64_G29_28 + NULL, NULL, NULL, NULL, // - + "g31:30", "g31:30", "g31:30_tmp", "g31:30_tmp", // HEX_REG_GUEST_REGS64_G31_30 +}; +#define HEXAGON_GUESTREGS64_LT_V69_SIZE 124 + +/** + * \brief Lookup table for register names and alias of class HvxQR. + */ +const char *hexagon_hvxqr_lt_v69[] = { + "q0", "q0", "q0_tmp", "q0_tmp", // HEX_REG_HVX_QR_Q0 + "q1", "q1", "q1_tmp", "q1_tmp", // HEX_REG_HVX_QR_Q1 + "q2", "q2", "q2_tmp", "q2_tmp", // HEX_REG_HVX_QR_Q2 + "q3", "q3", "q3_tmp", "q3_tmp", // HEX_REG_HVX_QR_Q3 +}; +#define HEXAGON_HVXQR_LT_V69_SIZE 16 + +/** + * \brief Lookup table for register names and alias of class HvxVQR. + */ +const char *hexagon_hvxvqr_lt_v69[] = { + "v3:0", "v3:0", "v3:0_tmp", "v3:0_tmp", // HEX_REG_HVX_VQR_V3_0 + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + "v7:4", "v7:4", "v7:4_tmp", "v7:4_tmp", // HEX_REG_HVX_VQR_V7_4 + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + "v11:8", "v11:8", "v11:8_tmp", "v11:8_tmp", // HEX_REG_HVX_VQR_V11_8 + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + "v15:12", "v15:12", "v15:12_tmp", "v15:12_tmp", // HEX_REG_HVX_VQR_V15_12 + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + "v19:16", "v19:16", "v19:16_tmp", "v19:16_tmp", // HEX_REG_HVX_VQR_V19_16 + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + "v23:20", "v23:20", "v23:20_tmp", "v23:20_tmp", // HEX_REG_HVX_VQR_V23_20 + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + "v27:24", "v27:24", "v27:24_tmp", "v27:24_tmp", // HEX_REG_HVX_VQR_V27_24 + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + "v31:28", "v31:28", "v31:28_tmp", "v31:28_tmp", // HEX_REG_HVX_VQR_V31_28 +}; +#define HEXAGON_HVXVQR_LT_V69_SIZE 116 + +/** + * \brief Lookup table for register names and alias of class HvxVR. + */ +const char *hexagon_hvxvr_lt_v69[] = { + "v0", "v0", "v0_tmp", "v0_tmp", // HEX_REG_HVX_VR_V0 + "v1", "v1", "v1_tmp", "v1_tmp", // HEX_REG_HVX_VR_V1 + "v2", "v2", "v2_tmp", "v2_tmp", // HEX_REG_HVX_VR_V2 + "v3", "v3", "v3_tmp", "v3_tmp", // HEX_REG_HVX_VR_V3 + "v4", "v4", "v4_tmp", "v4_tmp", // HEX_REG_HVX_VR_V4 + "v5", "v5", "v5_tmp", "v5_tmp", // HEX_REG_HVX_VR_V5 + "v6", "v6", "v6_tmp", "v6_tmp", // HEX_REG_HVX_VR_V6 + "v7", "v7", "v7_tmp", "v7_tmp", // HEX_REG_HVX_VR_V7 + "v8", "v8", "v8_tmp", "v8_tmp", // HEX_REG_HVX_VR_V8 + "v9", "v9", "v9_tmp", "v9_tmp", // HEX_REG_HVX_VR_V9 + "v10", "v10", "v10_tmp", "v10_tmp", // HEX_REG_HVX_VR_V10 + "v11", "v11", "v11_tmp", "v11_tmp", // HEX_REG_HVX_VR_V11 + "v12", "v12", "v12_tmp", "v12_tmp", // HEX_REG_HVX_VR_V12 + "v13", "v13", "v13_tmp", "v13_tmp", // HEX_REG_HVX_VR_V13 + "v14", "v14", "v14_tmp", "v14_tmp", // HEX_REG_HVX_VR_V14 + "v15", "v15", "v15_tmp", "v15_tmp", // HEX_REG_HVX_VR_V15 + "v16", "v16", "v16_tmp", "v16_tmp", // HEX_REG_HVX_VR_V16 + "v17", "v17", "v17_tmp", "v17_tmp", // HEX_REG_HVX_VR_V17 + "v18", "v18", "v18_tmp", "v18_tmp", // HEX_REG_HVX_VR_V18 + "v19", "v19", "v19_tmp", "v19_tmp", // HEX_REG_HVX_VR_V19 + "v20", "v20", "v20_tmp", "v20_tmp", // HEX_REG_HVX_VR_V20 + "v21", "v21", "v21_tmp", "v21_tmp", // HEX_REG_HVX_VR_V21 + "v22", "v22", "v22_tmp", "v22_tmp", // HEX_REG_HVX_VR_V22 + "v23", "v23", "v23_tmp", "v23_tmp", // HEX_REG_HVX_VR_V23 + "v24", "v24", "v24_tmp", "v24_tmp", // HEX_REG_HVX_VR_V24 + "v25", "v25", "v25_tmp", "v25_tmp", // HEX_REG_HVX_VR_V25 + "v26", "v26", "v26_tmp", "v26_tmp", // HEX_REG_HVX_VR_V26 + "v27", "v27", "v27_tmp", "v27_tmp", // HEX_REG_HVX_VR_V27 + "v28", "v28", "v28_tmp", "v28_tmp", // HEX_REG_HVX_VR_V28 + "v29", "v29", "v29_tmp", "v29_tmp", // HEX_REG_HVX_VR_V29 + "v30", "v30", "v30_tmp", "v30_tmp", // HEX_REG_HVX_VR_V30 + "v31", "v31", "v31_tmp", "v31_tmp", // HEX_REG_HVX_VR_V31 +}; +#define HEXAGON_HVXVR_LT_V69_SIZE 128 + +/** + * \brief Lookup table for register names and alias of class HvxWR. + */ +const char *hexagon_hvxwr_lt_v69[] = { + "v1:0", "v1:0", "v1:0_tmp", "v1:0_tmp", // HEX_REG_HVX_WR_V1_0 + NULL, NULL, NULL, NULL, // - + "v3:2", "v3:2", "v3:2_tmp", "v3:2_tmp", // HEX_REG_HVX_WR_V3_2 + NULL, NULL, NULL, NULL, // - + "v5:4", "v5:4", "v5:4_tmp", "v5:4_tmp", // HEX_REG_HVX_WR_V5_4 + NULL, NULL, NULL, NULL, // - + "v7:6", "v7:6", "v7:6_tmp", "v7:6_tmp", // HEX_REG_HVX_WR_V7_6 + NULL, NULL, NULL, NULL, // - + "v9:8", "v9:8", "v9:8_tmp", "v9:8_tmp", // HEX_REG_HVX_WR_V9_8 + NULL, NULL, NULL, NULL, // - + "v11:10", "v11:10", "v11:10_tmp", "v11:10_tmp", // HEX_REG_HVX_WR_V11_10 + NULL, NULL, NULL, NULL, // - + "v13:12", "v13:12", "v13:12_tmp", "v13:12_tmp", // HEX_REG_HVX_WR_V13_12 + NULL, NULL, NULL, NULL, // - + "v15:14", "v15:14", "v15:14_tmp", "v15:14_tmp", // HEX_REG_HVX_WR_V15_14 + NULL, NULL, NULL, NULL, // - + "v17:16", "v17:16", "v17:16_tmp", "v17:16_tmp", // HEX_REG_HVX_WR_V17_16 + NULL, NULL, NULL, NULL, // - + "v19:18", "v19:18", "v19:18_tmp", "v19:18_tmp", // HEX_REG_HVX_WR_V19_18 + NULL, NULL, NULL, NULL, // - + "v21:20", "v21:20", "v21:20_tmp", "v21:20_tmp", // HEX_REG_HVX_WR_V21_20 + NULL, NULL, NULL, NULL, // - + "v23:22", "v23:22", "v23:22_tmp", "v23:22_tmp", // HEX_REG_HVX_WR_V23_22 + NULL, NULL, NULL, NULL, // - + "v25:24", "v25:24", "v25:24_tmp", "v25:24_tmp", // HEX_REG_HVX_WR_V25_24 + NULL, NULL, NULL, NULL, // - + "v27:26", "v27:26", "v27:26_tmp", "v27:26_tmp", // HEX_REG_HVX_WR_V27_26 + NULL, NULL, NULL, NULL, // - + "v29:28", "v29:28", "v29:28_tmp", "v29:28_tmp", // HEX_REG_HVX_WR_V29_28 + NULL, NULL, NULL, NULL, // - + "v31:30", "v31:30", "v31:30_tmp", "v31:30_tmp", // HEX_REG_HVX_WR_V31_30 +}; +#define HEXAGON_HVXWR_LT_V69_SIZE 124 + +/** + * \brief Lookup table for register names and alias of class IntRegs. + */ +const char *hexagon_intregs_lt_v69[] = { + "r0", "r0", "r0_tmp", "r0_tmp", // HEX_REG_INT_REGS_R0 + "r1", "r1", "r1_tmp", "r1_tmp", // HEX_REG_INT_REGS_R1 + "r2", "r2", "r2_tmp", "r2_tmp", // HEX_REG_INT_REGS_R2 + "r3", "r3", "r3_tmp", "r3_tmp", // HEX_REG_INT_REGS_R3 + "r4", "r4", "r4_tmp", "r4_tmp", // HEX_REG_INT_REGS_R4 + "r5", "r5", "r5_tmp", "r5_tmp", // HEX_REG_INT_REGS_R5 + "r6", "r6", "r6_tmp", "r6_tmp", // HEX_REG_INT_REGS_R6 + "r7", "r7", "r7_tmp", "r7_tmp", // HEX_REG_INT_REGS_R7 + "r8", "r8", "r8_tmp", "r8_tmp", // HEX_REG_INT_REGS_R8 + "r9", "r9", "r9_tmp", "r9_tmp", // HEX_REG_INT_REGS_R9 + "r10", "r10", "r10_tmp", "r10_tmp", // HEX_REG_INT_REGS_R10 + "r11", "r11", "r11_tmp", "r11_tmp", // HEX_REG_INT_REGS_R11 + "r12", "r12", "r12_tmp", "r12_tmp", // HEX_REG_INT_REGS_R12 + "r13", "r13", "r13_tmp", "r13_tmp", // HEX_REG_INT_REGS_R13 + "r14", "r14", "r14_tmp", "r14_tmp", // HEX_REG_INT_REGS_R14 + "r15", "r15", "r15_tmp", "r15_tmp", // HEX_REG_INT_REGS_R15 + "r16", "r16", "r16_tmp", "r16_tmp", // HEX_REG_INT_REGS_R16 + "r17", "r17", "r17_tmp", "r17_tmp", // HEX_REG_INT_REGS_R17 + "r18", "r18", "r18_tmp", "r18_tmp", // HEX_REG_INT_REGS_R18 + "r19", "r19", "r19_tmp", "r19_tmp", // HEX_REG_INT_REGS_R19 + "r20", "r20", "r20_tmp", "r20_tmp", // HEX_REG_INT_REGS_R20 + "r21", "r21", "r21_tmp", "r21_tmp", // HEX_REG_INT_REGS_R21 + "r22", "r22", "r22_tmp", "r22_tmp", // HEX_REG_INT_REGS_R22 + "r23", "r23", "r23_tmp", "r23_tmp", // HEX_REG_INT_REGS_R23 + "r24", "r24", "r24_tmp", "r24_tmp", // HEX_REG_INT_REGS_R24 + "r25", "r25", "r25_tmp", "r25_tmp", // HEX_REG_INT_REGS_R25 + "r26", "r26", "r26_tmp", "r26_tmp", // HEX_REG_INT_REGS_R26 + "r27", "r27", "r27_tmp", "r27_tmp", // HEX_REG_INT_REGS_R27 + "r28", "r28", "r28_tmp", "r28_tmp", // HEX_REG_INT_REGS_R28 + "r29", "sp", "r29_tmp", "sp_tmp", // HEX_REG_INT_REGS_R29 + "r30", "fp", "r30_tmp", "fp_tmp", // HEX_REG_INT_REGS_R30 + "r31", "lr", "r31_tmp", "lr_tmp", // HEX_REG_INT_REGS_R31 +}; +#define HEXAGON_INTREGS_LT_V69_SIZE 128 + +/** + * \brief Lookup table for register names and alias of class IntRegsLow8. + */ +const char *hexagon_intregslow8_lt_v69[] = { + "r0", "r0", "r0_tmp", "r0_tmp", // HEX_REG_INT_REGS_LOW8_R0 + "r1", "r1", "r1_tmp", "r1_tmp", // HEX_REG_INT_REGS_LOW8_R1 + "r2", "r2", "r2_tmp", "r2_tmp", // HEX_REG_INT_REGS_LOW8_R2 + "r3", "r3", "r3_tmp", "r3_tmp", // HEX_REG_INT_REGS_LOW8_R3 + "r4", "r4", "r4_tmp", "r4_tmp", // HEX_REG_INT_REGS_LOW8_R4 + "r5", "r5", "r5_tmp", "r5_tmp", // HEX_REG_INT_REGS_LOW8_R5 + "r6", "r6", "r6_tmp", "r6_tmp", // HEX_REG_INT_REGS_LOW8_R6 + "r7", "r7", "r7_tmp", "r7_tmp", // HEX_REG_INT_REGS_LOW8_R7 +}; +#define HEXAGON_INTREGSLOW8_LT_V69_SIZE 32 + +/** + * \brief Lookup table for register names and alias of class ModRegs. + */ +const char *hexagon_modregs_lt_v69[] = { + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + NULL, NULL, NULL, NULL, // - + "c6", "m0", "c6_tmp", "m0_tmp", // HEX_REG_MOD_REGS_C6 + "c7", "m1", "c7_tmp", "m1_tmp", // HEX_REG_MOD_REGS_C7 +}; +#define HEXAGON_MODREGS_LT_V69_SIZE 32 + +/** + * \brief Lookup table for register names and alias of class PredRegs. + */ +const char *hexagon_predregs_lt_v69[] = { + "p0", "p0", "p0_tmp", "p0_tmp", // HEX_REG_PRED_REGS_P0 + "p1", "p1", "p1_tmp", "p1_tmp", // HEX_REG_PRED_REGS_P1 + "p2", "p2", "p2_tmp", "p2_tmp", // HEX_REG_PRED_REGS_P2 + "p3", "p3", "p3_tmp", "p3_tmp", // HEX_REG_PRED_REGS_P3 +}; +#define HEXAGON_PREDREGS_LT_V69_SIZE 16 + +/** + * \brief Lookup table for register names and alias of class SysRegs. + */ +const char *hexagon_sysregs_lt_v69[] = { + "s0", "sgp0", "s0_tmp", "sgp0_tmp", // HEX_REG_SYS_REGS_S0 + "s1", "sgp1", "s1_tmp", "sgp1_tmp", // HEX_REG_SYS_REGS_S1 + "s2", "stid", "s2_tmp", "stid_tmp", // HEX_REG_SYS_REGS_S2 + "s3", "elr", "s3_tmp", "elr_tmp", // HEX_REG_SYS_REGS_S3 + "s4", "badva0", "s4_tmp", "badva0_tmp", // HEX_REG_SYS_REGS_S4 + "s5", "badva1", "s5_tmp", "badva1_tmp", // HEX_REG_SYS_REGS_S5 + "s6", "ssr", "s6_tmp", "ssr_tmp", // HEX_REG_SYS_REGS_S6 + "s7", "ccr", "s7_tmp", "ccr_tmp", // HEX_REG_SYS_REGS_S7 + "s8", "htid", "s8_tmp", "htid_tmp", // HEX_REG_SYS_REGS_S8 + "s9", "badva", "s9_tmp", "badva_tmp", // HEX_REG_SYS_REGS_S9 + "s10", "imask", "s10_tmp", "imask_tmp", // HEX_REG_SYS_REGS_S10 + "s11", "s11", "s11_tmp", "s11_tmp", // HEX_REG_SYS_REGS_S11 + "s12", "s12", "s12_tmp", "s12_tmp", // HEX_REG_SYS_REGS_S12 + "s13", "s13", "s13_tmp", "s13_tmp", // HEX_REG_SYS_REGS_S13 + "s14", "s14", "s14_tmp", "s14_tmp", // HEX_REG_SYS_REGS_S14 + "s15", "s15", "s15_tmp", "s15_tmp", // HEX_REG_SYS_REGS_S15 + "s16", "evb", "s16_tmp", "evb_tmp", // HEX_REG_SYS_REGS_S16 + "s17", "modectl", "s17_tmp", "modectl_tmp", // HEX_REG_SYS_REGS_S17 + "s18", "syscfg", "s18_tmp", "syscfg_tmp", // HEX_REG_SYS_REGS_S18 + "s19", "s19", "s19_tmp", "s19_tmp", // HEX_REG_SYS_REGS_S19 + "s20", "s20", "s20_tmp", "s20_tmp", // HEX_REG_SYS_REGS_S20 + "s21", "vid", "s21_tmp", "vid_tmp", // HEX_REG_SYS_REGS_S21 + "s22", "s22", "s22_tmp", "s22_tmp", // HEX_REG_SYS_REGS_S22 + "s23", "s23", "s23_tmp", "s23_tmp", // HEX_REG_SYS_REGS_S23 + "s24", "s24", "s24_tmp", "s24_tmp", // HEX_REG_SYS_REGS_S24 + "s25", "s25", "s25_tmp", "s25_tmp", // HEX_REG_SYS_REGS_S25 + "s26", "s26", "s26_tmp", "s26_tmp", // HEX_REG_SYS_REGS_S26 + "s27", "cfgbase", "s27_tmp", "cfgbase_tmp", // HEX_REG_SYS_REGS_S27 + "s28", "diag", "s28_tmp", "diag_tmp", // HEX_REG_SYS_REGS_S28 + "s29", "rev", "s29_tmp", "rev_tmp", // HEX_REG_SYS_REGS_S29 + "s30", "pcyclelo", "s30_tmp", "pcyclelo_tmp", // HEX_REG_SYS_REGS_S30 + "s31", "pcyclehi", "s31_tmp", "pcyclehi_tmp", // HEX_REG_SYS_REGS_S31 + "s32", "isdbst", "s32_tmp", "isdbst_tmp", // HEX_REG_SYS_REGS_S32 + "s33", "isdbcfg0", "s33_tmp", "isdbcfg0_tmp", // HEX_REG_SYS_REGS_S33 + "s34", "isdbcfg1", "s34_tmp", "isdbcfg1_tmp", // HEX_REG_SYS_REGS_S34 + "s35", "s35", "s35_tmp", "s35_tmp", // HEX_REG_SYS_REGS_S35 + "s36", "brkptpc0", "s36_tmp", "brkptpc0_tmp", // HEX_REG_SYS_REGS_S36 + "s37", "brkptcfg0", "s37_tmp", "brkptcfg0_tmp", // HEX_REG_SYS_REGS_S37 + "s38", "brkptpc1", "s38_tmp", "brkptpc1_tmp", // HEX_REG_SYS_REGS_S38 + "s39", "brkptcfg1", "s39_tmp", "brkptcfg1_tmp", // HEX_REG_SYS_REGS_S39 + "s40", "isdbmbxin", "s40_tmp", "isdbmbxin_tmp", // HEX_REG_SYS_REGS_S40 + "s41", "isdbmbxout", "s41_tmp", "isdbmbxout_tmp", // HEX_REG_SYS_REGS_S41 + "s42", "isdben", "s42_tmp", "isdben_tmp", // HEX_REG_SYS_REGS_S42 + "s43", "isdbgpr", "s43_tmp", "isdbgpr_tmp", // HEX_REG_SYS_REGS_S43 + "s44", "s44", "s44_tmp", "s44_tmp", // HEX_REG_SYS_REGS_S44 + "s45", "s45", "s45_tmp", "s45_tmp", // HEX_REG_SYS_REGS_S45 + "s46", "s46", "s46_tmp", "s46_tmp", // HEX_REG_SYS_REGS_S46 + "s47", "s47", "s47_tmp", "s47_tmp", // HEX_REG_SYS_REGS_S47 + "s48", "pmucnt0", "s48_tmp", "pmucnt0_tmp", // HEX_REG_SYS_REGS_S48 + "s49", "pmucnt1", "s49_tmp", "pmucnt1_tmp", // HEX_REG_SYS_REGS_S49 + "s50", "pmucnt2", "s50_tmp", "pmucnt2_tmp", // HEX_REG_SYS_REGS_S50 + "s51", "pmucnt3", "s51_tmp", "pmucnt3_tmp", // HEX_REG_SYS_REGS_S51 + "s52", "pmuevtcfg", "s52_tmp", "pmuevtcfg_tmp", // HEX_REG_SYS_REGS_S52 + "s53", "pmucfg", "s53_tmp", "pmucfg_tmp", // HEX_REG_SYS_REGS_S53 + "s54", "s54", "s54_tmp", "s54_tmp", // HEX_REG_SYS_REGS_S54 + "s55", "s55", "s55_tmp", "s55_tmp", // HEX_REG_SYS_REGS_S55 + "s56", "s56", "s56_tmp", "s56_tmp", // HEX_REG_SYS_REGS_S56 + "s57", "s57", "s57_tmp", "s57_tmp", // HEX_REG_SYS_REGS_S57 + "s58", "s58", "s58_tmp", "s58_tmp", // HEX_REG_SYS_REGS_S58 + "s59", "s59", "s59_tmp", "s59_tmp", // HEX_REG_SYS_REGS_S59 + "s60", "s60", "s60_tmp", "s60_tmp", // HEX_REG_SYS_REGS_S60 + "s61", "s61", "s61_tmp", "s61_tmp", // HEX_REG_SYS_REGS_S61 + "s62", "s62", "s62_tmp", "s62_tmp", // HEX_REG_SYS_REGS_S62 + "s63", "s63", "s63_tmp", "s63_tmp", // HEX_REG_SYS_REGS_S63 + "s64", "s64", "s64_tmp", "s64_tmp", // HEX_REG_SYS_REGS_S64 + "s65", "s65", "s65_tmp", "s65_tmp", // HEX_REG_SYS_REGS_S65 + "s66", "s66", "s66_tmp", "s66_tmp", // HEX_REG_SYS_REGS_S66 + "s67", "s67", "s67_tmp", "s67_tmp", // HEX_REG_SYS_REGS_S67 + "s68", "s68", "s68_tmp", "s68_tmp", // HEX_REG_SYS_REGS_S68 + "s69", "s69", "s69_tmp", "s69_tmp", // HEX_REG_SYS_REGS_S69 + "s70", "s70", "s70_tmp", "s70_tmp", // HEX_REG_SYS_REGS_S70 + "s71", "s71", "s71_tmp", "s71_tmp", // HEX_REG_SYS_REGS_S71 + "s72", "s72", "s72_tmp", "s72_tmp", // HEX_REG_SYS_REGS_S72 + "s73", "s73", "s73_tmp", "s73_tmp", // HEX_REG_SYS_REGS_S73 + "s74", "s74", "s74_tmp", "s74_tmp", // HEX_REG_SYS_REGS_S74 + "s75", "s75", "s75_tmp", "s75_tmp", // HEX_REG_SYS_REGS_S75 + "s76", "s76", "s76_tmp", "s76_tmp", // HEX_REG_SYS_REGS_S76 + "s77", "s77", "s77_tmp", "s77_tmp", // HEX_REG_SYS_REGS_S77 + "s78", "s78", "s78_tmp", "s78_tmp", // HEX_REG_SYS_REGS_S78 + "s79", "s79", "s79_tmp", "s79_tmp", // HEX_REG_SYS_REGS_S79 + "s80", "s80", "s80_tmp", "s80_tmp", // HEX_REG_SYS_REGS_S80 +}; +#define HEXAGON_SYSREGS_LT_V69_SIZE 324 + +/** + * \brief Lookup table for register names and alias of class SysRegs64. + */ +const char *hexagon_sysregs64_lt_v69[] = { + "s1:0", "sgp1:0", "s1:0_tmp", "sgp1:0_tmp", // HEX_REG_SYS_REGS64_S1_0 + NULL, NULL, NULL, NULL, // - + "s3:2", "s3:2", "s3:2_tmp", "s3:2_tmp", // HEX_REG_SYS_REGS64_S3_2 + NULL, NULL, NULL, NULL, // - + "s5:4", "badva1:0", "s5:4_tmp", "badva1:0_tmp", // HEX_REG_SYS_REGS64_S5_4 + NULL, NULL, NULL, NULL, // - + "s7:6", "ccr:ssr", "s7:6_tmp", "ccr:ssr_tmp", // HEX_REG_SYS_REGS64_S7_6 + NULL, NULL, NULL, NULL, // - + "s9:8", "s9:8", "s9:8_tmp", "s9:8_tmp", // HEX_REG_SYS_REGS64_S9_8 + NULL, NULL, NULL, NULL, // - + "s11:10", "s11:10", "s11:10_tmp", "s11:10_tmp", // HEX_REG_SYS_REGS64_S11_10 + NULL, NULL, NULL, NULL, // - + "s13:12", "s13:12", "s13:12_tmp", "s13:12_tmp", // HEX_REG_SYS_REGS64_S13_12 + NULL, NULL, NULL, NULL, // - + "s15:14", "s15:14", "s15:14_tmp", "s15:14_tmp", // HEX_REG_SYS_REGS64_S15_14 + NULL, NULL, NULL, NULL, // - + "s17:16", "s17:16", "s17:16_tmp", "s17:16_tmp", // HEX_REG_SYS_REGS64_S17_16 + NULL, NULL, NULL, NULL, // - + "s19:18", "s19:18", "s19:18_tmp", "s19:18_tmp", // HEX_REG_SYS_REGS64_S19_18 + NULL, NULL, NULL, NULL, // - + "s21:20", "s21:20", "s21:20_tmp", "s21:20_tmp", // HEX_REG_SYS_REGS64_S21_20 + NULL, NULL, NULL, NULL, // - + "s23:22", "s23:22", "s23:22_tmp", "s23:22_tmp", // HEX_REG_SYS_REGS64_S23_22 + NULL, NULL, NULL, NULL, // - + "s25:24", "s25:24", "s25:24_tmp", "s25:24_tmp", // HEX_REG_SYS_REGS64_S25_24 + NULL, NULL, NULL, NULL, // - + "s27:26", "s27:26", "s27:26_tmp", "s27:26_tmp", // HEX_REG_SYS_REGS64_S27_26 + NULL, NULL, NULL, NULL, // - + "s29:28", "s29:28", "s29:28_tmp", "s29:28_tmp", // HEX_REG_SYS_REGS64_S29_28 + NULL, NULL, NULL, NULL, // - + "s31:30", "pcycle", "s31:30_tmp", "pcycle_tmp", // HEX_REG_SYS_REGS64_S31_30 + NULL, NULL, NULL, NULL, // - + "s33:32", "s33:32", "s33:32_tmp", "s33:32_tmp", // HEX_REG_SYS_REGS64_S33_32 + NULL, NULL, NULL, NULL, // - + "s35:34", "s35:34", "s35:34_tmp", "s35:34_tmp", // HEX_REG_SYS_REGS64_S35_34 + NULL, NULL, NULL, NULL, // - + "s37:36", "s37:36", "s37:36_tmp", "s37:36_tmp", // HEX_REG_SYS_REGS64_S37_36 + NULL, NULL, NULL, NULL, // - + "s39:38", "s39:38", "s39:38_tmp", "s39:38_tmp", // HEX_REG_SYS_REGS64_S39_38 + NULL, NULL, NULL, NULL, // - + "s41:40", "s41:40", "s41:40_tmp", "s41:40_tmp", // HEX_REG_SYS_REGS64_S41_40 + NULL, NULL, NULL, NULL, // - + "s43:42", "s43:42", "s43:42_tmp", "s43:42_tmp", // HEX_REG_SYS_REGS64_S43_42 + NULL, NULL, NULL, NULL, // - + "s45:44", "s45:44", "s45:44_tmp", "s45:44_tmp", // HEX_REG_SYS_REGS64_S45_44 + NULL, NULL, NULL, NULL, // - + "s47:46", "s47:46", "s47:46_tmp", "s47:46_tmp", // HEX_REG_SYS_REGS64_S47_46 + NULL, NULL, NULL, NULL, // - + "s49:48", "s49:48", "s49:48_tmp", "s49:48_tmp", // HEX_REG_SYS_REGS64_S49_48 + NULL, NULL, NULL, NULL, // - + "s51:50", "s51:50", "s51:50_tmp", "s51:50_tmp", // HEX_REG_SYS_REGS64_S51_50 + NULL, NULL, NULL, NULL, // - + "s53:52", "s53:52", "s53:52_tmp", "s53:52_tmp", // HEX_REG_SYS_REGS64_S53_52 + NULL, NULL, NULL, NULL, // - + "s55:54", "s55:54", "s55:54_tmp", "s55:54_tmp", // HEX_REG_SYS_REGS64_S55_54 + NULL, NULL, NULL, NULL, // - + "s57:56", "s57:56", "s57:56_tmp", "s57:56_tmp", // HEX_REG_SYS_REGS64_S57_56 + NULL, NULL, NULL, NULL, // - + "s59:58", "s59:58", "s59:58_tmp", "s59:58_tmp", // HEX_REG_SYS_REGS64_S59_58 + NULL, NULL, NULL, NULL, // - + "s61:60", "s61:60", "s61:60_tmp", "s61:60_tmp", // HEX_REG_SYS_REGS64_S61_60 + NULL, NULL, NULL, NULL, // - + "s63:62", "s63:62", "s63:62_tmp", "s63:62_tmp", // HEX_REG_SYS_REGS64_S63_62 + NULL, NULL, NULL, NULL, // - + "s65:64", "s65:64", "s65:64_tmp", "s65:64_tmp", // HEX_REG_SYS_REGS64_S65_64 + NULL, NULL, NULL, NULL, // - + "s67:66", "s67:66", "s67:66_tmp", "s67:66_tmp", // HEX_REG_SYS_REGS64_S67_66 + NULL, NULL, NULL, NULL, // - + "s69:68", "s69:68", "s69:68_tmp", "s69:68_tmp", // HEX_REG_SYS_REGS64_S69_68 + NULL, NULL, NULL, NULL, // - + "s71:70", "s71:70", "s71:70_tmp", "s71:70_tmp", // HEX_REG_SYS_REGS64_S71_70 + NULL, NULL, NULL, NULL, // - + "s73:72", "s73:72", "s73:72_tmp", "s73:72_tmp", // HEX_REG_SYS_REGS64_S73_72 + NULL, NULL, NULL, NULL, // - + "s75:74", "s75:74", "s75:74_tmp", "s75:74_tmp", // HEX_REG_SYS_REGS64_S75_74 + NULL, NULL, NULL, NULL, // - + "s77:76", "s77:76", "s77:76_tmp", "s77:76_tmp", // HEX_REG_SYS_REGS64_S77_76 + NULL, NULL, NULL, NULL, // - + "s79:78", "s79:78", "s79:78_tmp", "s79:78_tmp", // HEX_REG_SYS_REGS64_S79_78 +}; +#define HEXAGON_SYSREGS64_LT_V69_SIZE 316 +#define BIT_MASK(len) (BIT(len) - 1) +#define BF_MASK(start, len) (BIT_MASK(len) << (start)) +#define BF_PREP(x, start, len) (((x)&BIT_MASK(len)) << (start)) +#define BF_GET(y, start, len) (((y) >> (start)) & BIT_MASK(len)) #define BF_GETB(y, start, end) (BF_GET((y), (start), (end) - (start) + 1) -char *hex_get_ctr_regs(int opcode_reg, bool get_alias); -char *hex_get_ctr_regs64(int opcode_reg, bool get_alias); -char *hex_get_double_regs(int opcode_reg, bool get_alias); -char *hex_get_general_double_low8_regs(int opcode_reg, bool get_alias); -char *hex_get_general_sub_regs(int opcode_reg, bool get_alias); -char *hex_get_guest_regs(int opcode_reg, bool get_alias); -char *hex_get_guest_regs64(int opcode_reg, bool get_alias); -char *hex_get_hvx_qr(int opcode_reg, bool get_alias); -char *hex_get_hvx_vqr(int opcode_reg, bool get_alias); -char *hex_get_hvx_vr(int opcode_reg, bool get_alias); -char *hex_get_hvx_wr(int opcode_reg, bool get_alias); -char *hex_get_int_regs(int opcode_reg, bool get_alias); -char *hex_get_int_regs_low8(int opcode_reg, bool get_alias); -char *hex_get_mod_regs(int opcode_reg, bool get_alias); -char *hex_get_pred_regs(int opcode_reg, bool get_alias); -char *hex_get_sys_regs(int opcode_reg, bool get_alias); -char *hex_get_sys_regs64(int opcode_reg, bool get_alias); -char *hex_get_reg_in_class(HexRegClass cls, int opcode_reg, bool get_alias); +const char *hex_get_ctr_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_ctr_regs64(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_double_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_general_double_low8_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_general_sub_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_guest_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_guest_regs64(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_hvx_qr(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_hvx_vqr(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_hvx_vr(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_hvx_wr(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_int_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_int_regs_low8(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_mod_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_pred_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_sys_regs(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_sys_regs64(int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); +const char *hex_get_reg_in_class(HexRegClass cls, int reg_num, bool get_alias, bool get_new, bool reg_num_is_enum); RZ_API RZ_BORROW RzConfig *hexagon_get_config(); RZ_API void hex_extend_op(HexState *state, RZ_INOUT HexOp *op, const bool set_new_extender, const ut32 addr); diff --git a/rizin/librz/asm/arch/hexagon/hexagon_arch.c b/rizin/librz/asm/arch/hexagon/hexagon_arch.c index abee5e99..83e8cd39 100644 --- a/rizin/librz/asm/arch/hexagon/hexagon_arch.c +++ b/rizin/librz/asm/arch/hexagon/hexagon_arch.c @@ -3,7 +3,7 @@ // LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 // LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) -// Date of code generation: 2022-04-02 06:41:46-04:00 +// Date of code generation: 2022-07-16 14:38:05-04:00 //======================================== // The following code is generated. // Do not edit. Repository of code generator: @@ -93,6 +93,73 @@ static HexInsn *hex_get_instr_at_addr(HexState *state, const ut32 addr) { return NULL; } +/** + * \brief Returns the real register name for a register alias. + * + * \param alias The register alias. + * \return const char * The corresponding register name. Or NULL on error. + */ +RZ_API const char *hex_alias_to_reg(HexRegAlias alias) { + HexRegClass reg_class = hex_alias_reg_lt_v69[alias * 2]; + int reg_enum = hex_alias_reg_lt_v69[(alias * 2) + 1]; + return hex_get_reg_in_class(reg_class, reg_enum, false, false, true); +} + +/** + * \brief Gives for an ISA register variable the register name of the instructions. + * E.g.: If the ISA instruction uses the variable "Rd" this function returns the register + * name "R3", "R10" or any other concrete register name. + * + * \param hi The hexagon instruction. + * \param isa_var The ISA variable name. + * \param new_reg If true it will return the .new register name ("R3_tmp", "R10_tmp" etc.) + * \return const char * The concrete register name. Or NULL on error. + */ +RZ_API const char *hex_isa_to_reg(const HexInsn *hi, const char *isa_var, bool new_reg) { + rz_return_val_if_fail(hi && isa_var, NULL); + if (strlen(isa_var) < 2) { + RZ_LOG_WARN("Illegal ISA variable \"%s\"\n", isa_var); + return NULL; + } + const char isa_id = isa_var[1]; // Letter which identifies the register. + + const HexOp *op = NULL; + for (ut32 i = 0; i < hi->op_count; ++i) { + if (hi->ops[i].isa_id == isa_id) { + op = &hi->ops[i]; + break; + } + } + if (!op) { + RZ_LOG_WARN("Could not find equivalent register for ISA variable \"%s\"\n", isa_var); + return NULL; + } + return hex_get_reg_in_class(op->type, op->op.reg, false, new_reg, false); +} + +/** + * \brief Gives for an ISA immediate variable the immediate value of the instructions. + * + * \param hi The hexagon instruction. + * \param isa_var The ISA variable name. + * \return ut64 The immediate value. + */ +RZ_API ut64 hex_isa_to_imm(const HexInsn *hi, const char *isa_var) { + rz_return_val_if_fail(hi && isa_var, 0); + if (strlen(isa_var) < 3 || isa_var[1] != 'i' || isa_var[2] != 'V') { + RZ_LOG_WARN("Illegal ISA variable \"%s\"\n", isa_var); + return 0; + } + const char isa_id = isa_var[0]; // Letter which identifies the immediate. + for (ut32 i = 0; i < hi->op_count; ++i) { + if (hi->ops[i].isa_id == isa_id) { + return hi->ops[i].op.imm; + } + } + RZ_LOG_WARN("No immediate operand for \"%s\" found.\n", isa_var); + return 0; +} + /** * \brief Returns the index of an addr in a given packet. * @@ -824,4 +891,4 @@ RZ_API void hexagon_reverse_opcode(const RzAsm *rz_asm, HexReversedOpcode *rz_re memcpy(rz_reverse->ana_op, &hi->ana_op, sizeof(RzAnalysisOp)); break; } -} \ No newline at end of file +} diff --git a/rizin/librz/asm/arch/hexagon/hexagon_arch.h b/rizin/librz/asm/arch/hexagon/hexagon_arch.h index 25178580..eefe7cc1 100644 --- a/rizin/librz/asm/arch/hexagon/hexagon_arch.h +++ b/rizin/librz/asm/arch/hexagon/hexagon_arch.h @@ -3,7 +3,7 @@ // LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 // LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) -// Date of code generation: 2022-01-24 07:53:55-05:00 +// Date of code generation: 2022-07-16 10:16:40-04:00 //======================================== // The following code is generated. // Do not edit. Repository of code generator: @@ -68,4 +68,6 @@ RZ_API HexState *hexagon_get_state(); RZ_API void hexagon_reverse_opcode(const RzAsm *rz_asm, HexReversedOpcode *rz_reverse, const ut8 *buf, const ut64 addr); RZ_API ut8 hexagon_get_pkt_index_of_addr(const ut32 addr, const HexPkt *p); RZ_API HexLoopAttr hex_get_loop_flag(const HexPkt *p); -#endif +RZ_API const char *hex_isa_to_reg(const HexInsn *hi, const char *isa_var, bool new_reg); +RZ_API ut64 hex_isa_to_imm(const HexInsn *hi, const char *isa_var); +#endif \ No newline at end of file diff --git a/rizin/librz/asm/arch/hexagon/hexagon_disas.c b/rizin/librz/asm/arch/hexagon/hexagon_disas.c index 36ba9244..6578fb24 100644 --- a/rizin/librz/asm/arch/hexagon/hexagon_disas.c +++ b/rizin/librz/asm/arch/hexagon/hexagon_disas.c @@ -3,7 +3,7 @@ // LLVM commit: 96e220e6886868d6663d966ecc396befffc355e7 // LLVM commit date: 2022-01-05 11:01:52 +0000 (ISO 8601 format) -// Date of code generation: 2022-06-06 07:56:35-04:00 +// Date of code generation: 2022-07-17 10:09:49-04:00 //======================================== // The following code is generated. // Do not edit. Repository of code generator: @@ -16,9 +16,9 @@ #include #include #include "hexagon.h" -#include "hexagon_il.h" #include "hexagon_insn.h" #include "hexagon_arch.h" +#include "../../../analysis/arch/hexagon/hexagon_il.h" #if ASAN && !defined(__clang__) #define NO_OPT_IF_ASAN __attribute__((optimize(0))) @@ -64,6 +64,7 @@ typedef struct { typedef struct { ut8 info; // HexOpTemplateType | HexOpTemplateFlag ut8 syntax; // offset into HexInsnTemplate.syntax where to insert this op + char isa_id; HexOpMask masks[HEX_OP_MASKS_MAX]; union { ut8 imm_scale; @@ -101,21 +102,21 @@ static const HexInsnTemplate templates_duplex_0x0[] = { .encoding = { .mask = 0xf000f000, .op = 0x0 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -123,21 +124,21 @@ static const HexInsnTemplate templates_duplex_0x0[] = { .encoding = { .mask = 0xf000f000, .op = 0x1000 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -145,21 +146,21 @@ static const HexInsnTemplate templates_duplex_0x0[] = { .encoding = { .mask = 0xf000f000, .op = 0x10001000 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -171,18 +172,18 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x3f00 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -190,18 +191,18 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x10003f00 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -209,18 +210,18 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x3fc0 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = memw(+) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -228,18 +229,18 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x10003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = memub(+) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -247,9 +248,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x3fc5 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 9 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -257,9 +258,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .syntax = " = memw(+) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -267,9 +268,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x10003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -277,9 +278,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .syntax = " = memub(+) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -287,9 +288,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x3fc7 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 9 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -297,9 +298,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .syntax = " = memw(+) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -307,9 +308,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x10003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -317,9 +318,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .syntax = " = memub(+) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -327,9 +328,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x3fc4 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 9 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -337,9 +338,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .syntax = " = memw(+) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -347,9 +348,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x10003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -357,9 +358,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .syntax = " = memub(+) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -367,9 +368,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x3fc6 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 9 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -377,9 +378,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .syntax = " = memw(+) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -387,9 +388,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x10003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -397,9 +398,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .syntax = " = memub(+) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -407,21 +408,21 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000f800, .op = 0x3000 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -429,21 +430,21 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000f800, .op = 0x10003000 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -451,20 +452,20 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ff00, .op = 0x3e00 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -472,20 +473,20 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ff00, .op = 0x10003e00 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -493,21 +494,21 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000f800, .op = 0x2000 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -515,21 +516,21 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000f800, .op = 0x10002000 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -537,20 +538,20 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000fe00, .op = 0x3c00 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -558,20 +559,20 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000fe00, .op = 0x10003c00 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -579,21 +580,21 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000f800, .op = 0x2800 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -601,21 +602,21 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000f800, .op = 0x10002800 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -623,18 +624,18 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x3f40 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = memw(+) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -642,18 +643,18 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x10003f40 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = memub(+) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -661,9 +662,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x3f45 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 9 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -671,9 +672,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .syntax = " = memw(+) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -681,9 +682,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x10003f45 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -691,9 +692,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .syntax = " = memub(+) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -701,9 +702,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x3f47 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 9 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -711,9 +712,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .syntax = " = memw(+) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -721,9 +722,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x10003f47 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -731,9 +732,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .syntax = " = memub(+) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -741,9 +742,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x3f44 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 9 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -751,9 +752,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .syntax = " = memw(+) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -761,9 +762,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x10003f44 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -771,9 +772,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .syntax = " = memub(+) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -781,9 +782,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x3f46 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 9 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -791,9 +792,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .syntax = " = memw(+) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -801,9 +802,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .encoding = { .mask = 0xf000ffff, .op = 0x10003f46 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 24 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -811,9 +812,9 @@ static const HexInsnTemplate templates_duplex_0x1[] = { .syntax = " = memub(+) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -829,9 +830,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "deallocframe ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -839,18 +840,18 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x30001f00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(+) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -858,17 +859,17 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xff00ffff, .op = 0x3e001f00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(R29+) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -876,18 +877,18 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x20001f00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -895,17 +896,17 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xfe00ffff, .op = 0x3c001f00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(R29+) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -913,18 +914,18 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x28001f00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -936,9 +937,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = "deallocframe ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -946,18 +947,18 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x30001fc0 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = memb(+) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -965,17 +966,17 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xff00ffff, .op = 0x3e001fc0 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = memd(R29+) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -983,18 +984,18 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x20001fc0 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = memh(+) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1002,17 +1003,17 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xfe00ffff, .op = 0x3c001fc0 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = memw(R29+) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1020,18 +1021,18 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x28001fc0 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = memuh(+) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1043,9 +1044,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = "dealloc_return ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1058,9 +1059,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (!P0) dealloc_return ; jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1073,9 +1074,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (!P0.new) dealloc_return:nt ; jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1088,9 +1089,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (P0) dealloc_return ; jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1103,9 +1104,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (P0.new) dealloc_return:nt ; jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1118,9 +1119,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "deallocframe ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1128,9 +1129,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x30001fc5 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -1138,9 +1139,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memb(+) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1148,8 +1149,8 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xff00ffff, .op = 0x3e001fc5 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 12 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -1157,9 +1158,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memd(R29+) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1167,9 +1168,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x20001fc5 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 9 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -1177,9 +1178,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memh(+) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1187,8 +1188,8 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xfe00ffff, .op = 0x3c001fc5 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -1196,9 +1197,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memw(R29+) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1206,9 +1207,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x28001fc5 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 10 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -1216,9 +1217,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memuh(+) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1231,9 +1232,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "dealloc_return ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1246,9 +1247,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (!P0) dealloc_return ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1261,9 +1262,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (!P0.new) dealloc_return:nt ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1276,9 +1277,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (P0) dealloc_return ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1291,9 +1292,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (P0.new) dealloc_return:nt ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1306,9 +1307,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "deallocframe ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1316,9 +1317,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x30001fc7 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -1326,9 +1327,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memb(+) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1336,8 +1337,8 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xff00ffff, .op = 0x3e001fc7 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 12 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -1345,9 +1346,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memd(R29+) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1355,9 +1356,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x20001fc7 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 9 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -1365,9 +1366,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memh(+) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1375,8 +1376,8 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xfe00ffff, .op = 0x3c001fc7 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -1384,9 +1385,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memw(R29+) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1394,9 +1395,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x28001fc7 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 10 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -1404,9 +1405,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memuh(+) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1419,9 +1420,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "dealloc_return ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1434,9 +1435,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (!P0) dealloc_return ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1449,9 +1450,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (!P0.new) dealloc_return:nt ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1464,9 +1465,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (P0) dealloc_return ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1479,9 +1480,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (P0.new) dealloc_return:nt ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1494,9 +1495,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "deallocframe ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1504,9 +1505,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x30001fc4 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -1514,9 +1515,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memb(+) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1524,8 +1525,8 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xff00ffff, .op = 0x3e001fc4 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 12 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -1533,9 +1534,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memd(R29+) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1543,9 +1544,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x20001fc4 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 9 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -1553,9 +1554,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memh(+) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1563,8 +1564,8 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xfe00ffff, .op = 0x3c001fc4 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -1572,9 +1573,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memw(R29+) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1582,9 +1583,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x28001fc4 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 10 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -1592,9 +1593,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memuh(+) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1607,9 +1608,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "dealloc_return ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1622,9 +1623,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (!P0) dealloc_return ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1637,9 +1638,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (!P0.new) dealloc_return:nt ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1652,9 +1653,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (P0) dealloc_return ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1667,9 +1668,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (P0.new) dealloc_return:nt ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1682,9 +1683,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "deallocframe ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1692,9 +1693,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x30001fc6 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -1702,9 +1703,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memb(+) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1712,8 +1713,8 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xff00ffff, .op = 0x3e001fc6 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 12 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -1721,9 +1722,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memd(R29+) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1731,9 +1732,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x20001fc6 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 9 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -1741,9 +1742,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memh(+) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1751,8 +1752,8 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xfe00ffff, .op = 0x3c001fc6 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -1760,9 +1761,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memw(R29+) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1770,9 +1771,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x28001fc6 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 10 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -1780,9 +1781,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memuh(+) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1795,9 +1796,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "dealloc_return ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1810,9 +1811,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (!P0) dealloc_return ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1825,9 +1826,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (!P0.new) dealloc_return:nt ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1840,9 +1841,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (P0) dealloc_return ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1855,9 +1856,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (P0.new) dealloc_return:nt ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1865,21 +1866,21 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800f800, .op = 0x30001000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(+) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1887,21 +1888,21 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800f800, .op = 0x20001000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1909,21 +1910,21 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800f800, .op = 0x28001000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1931,20 +1932,20 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ff00, .op = 0x30001e00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(+) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1952,19 +1953,19 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xff00ff00, .op = 0x3e001e00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .isa_id = 'U', .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(R29+) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1972,20 +1973,20 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ff00, .op = 0x20001e00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -1993,19 +1994,19 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xfe00ff00, .op = 0x3c001e00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(R29+) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2013,20 +2014,20 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ff00, .op = 0x28001e00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2034,21 +2035,21 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800f800, .op = 0x20000000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2056,20 +2057,20 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800fe00, .op = 0x30001c00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(+) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2077,20 +2078,20 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800fe00, .op = 0x20001c00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2098,19 +2099,19 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xfe00fe00, .op = 0x3c001c00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(R29+) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2118,20 +2119,20 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800fe00, .op = 0x28001c00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2139,21 +2140,21 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800f800, .op = 0x20000800 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2161,21 +2162,21 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800f800, .op = 0x28000800 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2187,9 +2188,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = "deallocframe ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2197,18 +2198,18 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x30001f40 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = memb(+) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2216,17 +2217,17 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xff00ffff, .op = 0x3e001f40 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = memd(R29+) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2234,18 +2235,18 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x20001f40 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = memh(+) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2253,17 +2254,17 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xfe00ffff, .op = 0x3c001f40 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = memw(R29+) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2271,18 +2272,18 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x28001f40 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = memuh(+) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2294,9 +2295,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = "dealloc_return ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2309,9 +2310,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "deallocframe ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2319,9 +2320,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x30001f45 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -2329,9 +2330,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memb(+) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2339,8 +2340,8 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xff00ffff, .op = 0x3e001f45 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 12 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -2348,9 +2349,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memd(R29+) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2358,9 +2359,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x20001f45 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 9 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -2368,9 +2369,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memh(+) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2378,8 +2379,8 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xfe00ffff, .op = 0x3c001f45 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -2387,9 +2388,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memw(R29+) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2397,9 +2398,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x28001f45 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 10 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -2407,9 +2408,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memuh(+) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2422,9 +2423,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "dealloc_return ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2437,9 +2438,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (!P0) dealloc_return ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2452,9 +2453,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (P0) dealloc_return ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2467,9 +2468,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "deallocframe ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2477,9 +2478,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x30001f47 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -2487,9 +2488,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memb(+) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2497,8 +2498,8 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xff00ffff, .op = 0x3e001f47 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 12 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -2506,9 +2507,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memd(R29+) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2516,9 +2517,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x20001f47 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 9 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -2526,9 +2527,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memh(+) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2536,8 +2537,8 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xfe00ffff, .op = 0x3c001f47 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -2545,9 +2546,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memw(R29+) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2555,9 +2556,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x28001f47 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 10 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -2565,9 +2566,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memuh(+) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2580,9 +2581,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "dealloc_return ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2595,9 +2596,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (!P0) dealloc_return ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2610,9 +2611,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (!P0.new) dealloc_return:nt ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2625,9 +2626,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (P0) dealloc_return ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2640,9 +2641,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (P0.new) dealloc_return:nt ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2655,9 +2656,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "deallocframe ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2665,9 +2666,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x30001f44 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -2675,9 +2676,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memb(+) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2685,8 +2686,8 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xff00ffff, .op = 0x3e001f44 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 12 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -2694,9 +2695,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memd(R29+) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2704,9 +2705,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x20001f44 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 9 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -2714,9 +2715,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memh(+) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2724,8 +2725,8 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xfe00ffff, .op = 0x3c001f44 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -2733,9 +2734,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memw(R29+) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2743,9 +2744,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x28001f44 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 10 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -2753,9 +2754,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memuh(+) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2768,9 +2769,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "dealloc_return ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2783,9 +2784,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (P0) dealloc_return ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2798,9 +2799,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "deallocframe ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2808,9 +2809,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x30001f46 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -2818,9 +2819,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memb(+) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2828,8 +2829,8 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xff00ffff, .op = 0x3e001f46 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 19 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 12 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -2837,9 +2838,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memd(R29+) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2847,9 +2848,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x20001f46 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 9 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -2857,9 +2858,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memh(+) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2867,8 +2868,8 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xfe00ffff, .op = 0x3c001f46 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -2876,9 +2877,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memw(R29+) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2886,9 +2887,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .encoding = { .mask = 0xf800ffff, .op = 0x28001f46 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 24 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 10 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -2896,9 +2897,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = " = memuh(+) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2911,9 +2912,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "dealloc_return ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2926,9 +2927,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (!P0) dealloc_return ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2941,9 +2942,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (P0) dealloc_return ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2956,9 +2957,9 @@ static const HexInsnTemplate templates_duplex_0x2[] = { .syntax = "if (P0.new) dealloc_return:nt ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -2970,21 +2971,21 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800ff00, .op = 0x20003800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_ADDRX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'X', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'X', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = add(,)", .il_ops = { - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -2992,21 +2993,21 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x38003800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SA1_ADDRX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'X', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'X', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = add(,)", .il_ops = { - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3014,20 +3015,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x2c003800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_ADDRX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = add(,)", .il_ops = { - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3035,20 +3036,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x32003800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_ADDRX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = add(,)", .il_ops = { - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3056,21 +3057,21 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x33003800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_ADDRX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = add(,)", .il_ops = { - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3078,20 +3079,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x31003800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_ADDRX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = add(,)", .il_ops = { - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3099,20 +3100,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_ADDRX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = add(,)", .il_ops = { - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3120,20 +3121,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x35003800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SA1_ADDRX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = add(,)", .il_ops = { - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3141,20 +3142,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x34003800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_ADDRX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = add(,)", .il_ops = { - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3162,20 +3163,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x30003800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_ADDRX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = add(,)", .il_ops = { - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3183,20 +3184,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x37003800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SA1_ADDRX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; = add(,)", .il_ops = { - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3204,20 +3205,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x36003800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SA1_ADDRX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = add(,)", .il_ops = { - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3225,20 +3226,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003800 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_ADDRX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = add(,)", .il_ops = { - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3246,20 +3247,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800fc00, .op = 0x20002c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_ADDSP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 4 } }, .imm_scale = 2, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = add(R29,)", .il_ops = { - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3267,19 +3268,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fc00, .op = 0x2c002c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_ADDSP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 4 } }, .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = add(R29,)", .il_ops = { - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3287,19 +3288,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fc00, .op = 0x28002c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_ADDSP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 4 } }, .imm_scale = 2, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = add(R29,)", .il_ops = { - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3307,19 +3308,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fc00, .op = 0x28002c00 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_ADDSP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 4 } }, .imm_scale = 2, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = add(R29,)", .il_ops = { - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3327,20 +3328,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800ff00, .op = 0x20003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_AND1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = and(,#1)", .il_ops = { - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3348,19 +3349,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x2c003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_AND1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = and(,#1)", .il_ops = { - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3368,19 +3369,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x32003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_AND1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = and(,#1)", .il_ops = { - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3388,19 +3389,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x31003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_AND1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = and(,#1)", .il_ops = { - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3408,19 +3409,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_AND1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = and(,#1)", .il_ops = { - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3428,19 +3429,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x30003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_AND1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = and(,#1)", .il_ops = { - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3448,19 +3449,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003200 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_AND1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = and(,#1)", .il_ops = { - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3468,10 +3469,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800fff0, .op = 0x20003a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3479,9 +3480,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(,) ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3489,10 +3490,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x38003a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3500,9 +3501,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(,) ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3510,9 +3511,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fff0, .op = 0x2c003a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 24 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3520,9 +3521,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(R29,) ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3530,9 +3531,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x32003a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 23 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3540,9 +3541,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = and(,#1) ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3550,8 +3551,8 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0fff0, .op = 0x3a703a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 26 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3559,9 +3560,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (!P0) = #0 ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3569,8 +3570,8 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0fff0, .op = 0x3a503a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 30 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3578,9 +3579,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (!P0.new) = #0 ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3588,8 +3589,8 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0fff0, .op = 0x3a603a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 25 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -3597,9 +3598,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0) = #0 ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3607,8 +3608,8 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0fff0, .op = 0x3a403a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 29 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -3616,9 +3617,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0.new) = #0 ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3626,9 +3627,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff0cfff0, .op = 0x39003a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 26 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3636,9 +3637,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "P0 = cmp.eq(,) ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3646,10 +3647,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x33003a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3657,9 +3658,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(,) ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3667,9 +3668,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x31003a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 23 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3677,9 +3678,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(,#1) ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3687,9 +3688,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fff0, .op = 0x28003a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3697,9 +3698,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3707,9 +3708,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0fff0, .op = 0x3a003a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3717,9 +3718,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3727,9 +3728,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x35003a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3737,9 +3738,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = sxtb() ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3747,9 +3748,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x34003a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3757,9 +3758,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = sxth() ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3767,9 +3768,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x30003a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3777,9 +3778,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3787,9 +3788,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x37003a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 25 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3797,9 +3798,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = and(,#255) ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3807,9 +3808,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x36003a70 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3817,9 +3818,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = zxth() ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3827,9 +3828,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fff0, .op = 0x28003a70 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_CLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3837,9 +3838,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = ; if (!P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3847,10 +3848,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800fff0, .op = 0x20003a50 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 25 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3858,9 +3859,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(,) ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3868,10 +3869,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x38003a50 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 25 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3879,9 +3880,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(,) ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3889,9 +3890,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fff0, .op = 0x2c003a50 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 28 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3899,9 +3900,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(R29,) ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3909,9 +3910,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x32003a50 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 27 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3919,9 +3920,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = and(,#1) ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3929,8 +3930,8 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0fff0, .op = 0x3a503a50 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 34 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 34 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3938,9 +3939,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (!P0.new) = #0 ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3948,8 +3949,8 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0fff0, .op = 0x3a403a50 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 33 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 33 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -3957,9 +3958,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0.new) = #0 ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3967,9 +3968,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff0cfff0, .op = 0x39003a50 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 30 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3977,9 +3978,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "P0 = cmp.eq(,) ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -3987,10 +3988,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x33003a50 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 25 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -3998,9 +3999,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(,) ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4008,9 +4009,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x31003a50 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 27 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -4018,9 +4019,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(,#1) ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4028,9 +4029,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fff0, .op = 0x28003a50 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -4038,9 +4039,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4048,9 +4049,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0fff0, .op = 0x3a003a50 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -4058,9 +4059,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4068,9 +4069,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x35003a50 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 25 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -4078,9 +4079,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = sxtb() ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4088,9 +4089,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x34003a50 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 25 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -4098,9 +4099,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = sxth() ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4108,9 +4109,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x30003a50 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -4118,9 +4119,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4128,9 +4129,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x37003a50 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 29 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -4138,9 +4139,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = and(,#255) ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4148,9 +4149,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x36003a50 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 25 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -4158,9 +4159,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = zxth() ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4168,9 +4169,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fff0, .op = 0x28003a50 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_CLRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -4178,9 +4179,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = ; if (!P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4188,10 +4189,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800fff0, .op = 0x20003a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4199,9 +4200,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(,) ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4209,10 +4210,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x38003a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4220,9 +4221,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(,) ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4230,9 +4231,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fff0, .op = 0x2c003a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 23 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4240,9 +4241,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(R29,) ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4250,9 +4251,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x32003a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 22 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4260,9 +4261,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = and(,#1) ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4270,8 +4271,8 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0fff0, .op = 0x3a503a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 29 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4279,9 +4280,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (!P0.new) = #0 ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4289,8 +4290,8 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0fff0, .op = 0x3a603a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 24 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4298,9 +4299,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0) = #0 ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4308,8 +4309,8 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0fff0, .op = 0x3a403a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 28 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4317,9 +4318,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0.new) = #0 ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4327,9 +4328,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff0cfff0, .op = 0x39003a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 25 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4337,9 +4338,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "P0 = cmp.eq(,) ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4347,10 +4348,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x33003a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4358,9 +4359,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(,) ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4368,9 +4369,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x31003a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 22 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4378,9 +4379,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(,#1) ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4388,9 +4389,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fff0, .op = 0x28003a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4398,9 +4399,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4408,9 +4409,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0fff0, .op = 0x3a003a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4418,9 +4419,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4428,9 +4429,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x35003a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4438,9 +4439,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = sxtb() ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4448,9 +4449,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x34003a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4458,9 +4459,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = sxth() ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4468,9 +4469,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x30003a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4478,9 +4479,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4488,9 +4489,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x37003a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 24 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4498,9 +4499,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = and(,#255) ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4508,9 +4509,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x36003a60 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4518,9 +4519,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = zxth() ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4528,9 +4529,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fff0, .op = 0x28003a60 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_CLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4538,9 +4539,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = ; if (P0) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4548,10 +4549,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800fff0, .op = 0x20003a40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_CLRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 24 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4559,9 +4560,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(,) ; if (P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4569,10 +4570,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x38003a40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SA1_CLRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 24 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4580,9 +4581,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(,) ; if (P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4590,9 +4591,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fff0, .op = 0x2c003a40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_CLRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 27 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4600,9 +4601,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(R29,) ; if (P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4610,9 +4611,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x32003a40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_CLRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 26 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4620,9 +4621,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = and(,#1) ; if (P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4630,8 +4631,8 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0fff0, .op = 0x3a403a40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SA1_CLRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 32 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4639,9 +4640,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0.new) = #0 ; if (P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4649,9 +4650,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff0cfff0, .op = 0x39003a40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SA1_CLRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 29 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4659,9 +4660,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "P0 = cmp.eq(,) ; if (P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4669,10 +4670,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x33003a40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_CLRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 24 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4680,9 +4681,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(,) ; if (P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4690,9 +4691,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x31003a40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_CLRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 26 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4700,9 +4701,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = add(,#1) ; if (P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4710,9 +4711,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fff0, .op = 0x28003a40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_CLRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4720,9 +4721,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = ; if (P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4730,9 +4731,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0fff0, .op = 0x3a003a40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SA1_CLRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4740,9 +4741,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = ; if (P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4750,9 +4751,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x35003a40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SA1_CLRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 24 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4760,9 +4761,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = sxtb() ; if (P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4770,9 +4771,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x34003a40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_CLRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 24 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4780,9 +4781,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = sxth() ; if (P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4790,9 +4791,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x30003a40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_CLRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4800,9 +4801,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = ; if (P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4810,9 +4811,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x37003a40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SA1_CLRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 28 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4820,9 +4821,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = and(,#255) ; if (P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4830,9 +4831,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x36003a40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SA1_CLRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 24 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4840,9 +4841,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = zxth() ; if (P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4850,9 +4851,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fff0, .op = 0x28003a40 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_CLRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -4860,9 +4861,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = " = ; if (P0.new) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4870,20 +4871,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800ff0c, .op = 0x20003900 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_CMPEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 } }, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 } }, .isa_id = 'u', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; P0 = cmp.eq(,)", .il_ops = { - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4891,20 +4892,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff0c, .op = 0x38003900 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SA1_CMPEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 0 } }, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 0 } }, .isa_id = 'u', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; P0 = cmp.eq(,)", .il_ops = { - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4912,19 +4913,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff0c, .op = 0x2c003900 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_CMPEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 } }, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 } }, .isa_id = 'u', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; P0 = cmp.eq(,)", .il_ops = { - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4932,19 +4933,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff0c, .op = 0x32003900 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_CMPEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 0 } }, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 0 } }, .isa_id = 'u', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; P0 = cmp.eq(,)", .il_ops = { - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4952,19 +4953,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff0cff0c, .op = 0x39003900 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SA1_CMPEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 } }, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 } }, .isa_id = 'u', .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; P0 = cmp.eq(,)", .il_ops = { - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4972,20 +4973,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff0c, .op = 0x33003900 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_CMPEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 } }, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 } }, .isa_id = 'u', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; P0 = cmp.eq(,)", .il_ops = { - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -4993,19 +4994,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff0c, .op = 0x31003900 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_CMPEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 0 } }, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 0 } }, .isa_id = 'u', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; P0 = cmp.eq(,)", .il_ops = { - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5013,19 +5014,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff0c, .op = 0x28003900 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_CMPEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; P0 = cmp.eq(,)", .il_ops = { - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5033,19 +5034,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff0c, .op = 0x35003900 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SA1_CMPEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 0 } }, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 0 } }, .isa_id = 'u', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; P0 = cmp.eq(,)", .il_ops = { - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5053,19 +5054,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff0c, .op = 0x34003900 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_CMPEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 0 } }, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 0 } }, .isa_id = 'u', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; P0 = cmp.eq(,)", .il_ops = { - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5073,19 +5074,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff0c, .op = 0x30003900 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_CMPEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 0 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 0 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; P0 = cmp.eq(,)", .il_ops = { - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5093,19 +5094,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff0c, .op = 0x37003900 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SA1_CMPEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 0 } }, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 0 } }, .isa_id = 'u', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; P0 = cmp.eq(,)", .il_ops = { - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5113,19 +5114,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff0c, .op = 0x36003900 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SA1_CMPEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 0 } }, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 0 } }, .isa_id = 'u', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; P0 = cmp.eq(,)", .il_ops = { - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5133,19 +5134,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff0c, .op = 0x28003900 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_CMPEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; P0 = cmp.eq(,)", .il_ops = { - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5153,20 +5154,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800ff98, .op = 0x20003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5174,20 +5175,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x38003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5195,19 +5196,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff98, .op = 0x2c003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5215,19 +5216,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x32003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5235,9 +5236,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a703c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 31 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -5245,9 +5246,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (!P0) = #0 ; = combine(#0,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5255,9 +5256,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a503c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 35 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -5265,9 +5266,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (!P0.new) = #0 ; = combine(#0,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5275,9 +5276,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a603c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 30 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -5285,9 +5286,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0) = #0 ; = combine(#0,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5295,9 +5296,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a403c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 34 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 34 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -5305,9 +5306,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0.new) = #0 ; = combine(#0,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5315,19 +5316,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff0cff98, .op = 0x39003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5335,19 +5336,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff98, .op = 0x3c003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 32 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5355,20 +5356,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x33003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5376,19 +5377,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x31003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5396,19 +5397,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff98, .op = 0x28003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5416,19 +5417,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5436,19 +5437,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x35003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5456,19 +5457,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x34003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5476,19 +5477,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x30003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5496,19 +5497,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x37003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5516,19 +5517,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x36003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5536,19 +5537,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff98, .op = 0x28003c00 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_COMBINE0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5556,20 +5557,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800ff98, .op = 0x20003c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5577,20 +5578,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x38003c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5598,19 +5599,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff98, .op = 0x2c003c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5618,19 +5619,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x32003c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5638,9 +5639,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a703c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 31 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -5648,9 +5649,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (!P0) = #0 ; = combine(#1,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5658,9 +5659,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a503c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 35 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -5668,9 +5669,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (!P0.new) = #0 ; = combine(#1,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5678,9 +5679,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a603c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 30 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -5688,9 +5689,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0) = #0 ; = combine(#1,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5698,9 +5699,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a403c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 34 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 34 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -5708,9 +5709,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0.new) = #0 ; = combine(#1,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5718,19 +5719,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff0cff98, .op = 0x39003c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5738,19 +5739,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff98, .op = 0x3c003c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 32 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5758,19 +5759,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff98, .op = 0x3c083c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 32 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5778,20 +5779,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x33003c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5799,19 +5800,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x31003c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5819,19 +5820,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff98, .op = 0x28003c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5839,19 +5840,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a003c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5859,19 +5860,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x35003c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5879,19 +5880,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x34003c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5899,19 +5900,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x30003c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5919,19 +5920,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x37003c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5939,19 +5940,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x36003c08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5959,19 +5960,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff98, .op = 0x28003c08 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_COMBINE1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#1,)", .il_ops = { - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -5979,20 +5980,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800ff98, .op = 0x20003c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6000,20 +6001,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x38003c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6021,19 +6022,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff98, .op = 0x2c003c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6041,19 +6042,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x32003c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6061,9 +6062,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a703c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 31 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -6071,9 +6072,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (!P0) = #0 ; = combine(#2,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6081,9 +6082,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a503c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 35 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -6091,9 +6092,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (!P0.new) = #0 ; = combine(#2,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6101,9 +6102,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a603c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 30 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -6111,9 +6112,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0) = #0 ; = combine(#2,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6121,9 +6122,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a403c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 34 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 34 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -6131,9 +6132,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0.new) = #0 ; = combine(#2,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6141,19 +6142,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff0cff98, .op = 0x39003c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6161,19 +6162,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff98, .op = 0x3c003c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 32 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6181,19 +6182,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff98, .op = 0x3c083c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 32 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6201,19 +6202,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff98, .op = 0x3c103c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 32 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6221,20 +6222,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x33003c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6242,19 +6243,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x31003c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6262,19 +6263,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff98, .op = 0x28003c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6282,19 +6283,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a003c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6302,19 +6303,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x35003c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6322,19 +6323,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x34003c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6342,19 +6343,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x30003c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6362,19 +6363,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x37003c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6382,19 +6383,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x36003c10 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6402,19 +6403,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff98, .op = 0x28003c10 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_COMBINE2I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#2,)", .il_ops = { - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6422,20 +6423,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800ff98, .op = 0x20003c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6443,20 +6444,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x38003c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6464,19 +6465,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff98, .op = 0x2c003c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6484,19 +6485,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x32003c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6504,9 +6505,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a703c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 31 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -6514,9 +6515,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (!P0) = #0 ; = combine(#3,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6524,9 +6525,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a503c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 35 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -6534,9 +6535,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (!P0.new) = #0 ; = combine(#3,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6544,9 +6545,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a603c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 30 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -6554,9 +6555,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0) = #0 ; = combine(#3,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6564,9 +6565,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a403c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 34 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 34 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -6574,9 +6575,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0.new) = #0 ; = combine(#3,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6584,19 +6585,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff0cff98, .op = 0x39003c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6604,19 +6605,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff98, .op = 0x3c003c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 32 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6624,19 +6625,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff98, .op = 0x3c083c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 32 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6644,19 +6645,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff98, .op = 0x3c103c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 32 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6664,19 +6665,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff98, .op = 0x3c183c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 32 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6684,20 +6685,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x33003c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6705,19 +6706,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x31003c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6725,19 +6726,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff98, .op = 0x28003c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6745,19 +6746,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff98, .op = 0x3a003c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6765,19 +6766,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x35003c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6785,19 +6786,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x34003c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6805,19 +6806,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x30003c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6825,19 +6826,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x37003c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6845,19 +6846,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff98, .op = 0x36003c18 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6865,19 +6866,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff98, .op = 0x28003c18 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_COMBINE3I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#3,)", .il_ops = { - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6885,20 +6886,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800ff08, .op = 0x20003d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6906,20 +6907,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x38003d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6927,19 +6928,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff08, .op = 0x2c003d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6947,19 +6948,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x32003d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6967,9 +6968,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff08, .op = 0x3a703d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 28 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -6977,9 +6978,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (!P0) = #0 ; = combine(,#0)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -6987,9 +6988,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff08, .op = 0x3a503d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 32 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -6997,9 +6998,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (!P0.new) = #0 ; = combine(,#0)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7007,9 +7008,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff08, .op = 0x3a603d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 27 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -7017,9 +7018,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0) = #0 ; = combine(,#0)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7027,9 +7028,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff08, .op = 0x3a403d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 31 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -7037,9 +7038,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0.new) = #0 ; = combine(,#0)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7047,19 +7048,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff0cff08, .op = 0x39003d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7067,19 +7068,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff08, .op = 0x3c003d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7087,19 +7088,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff08, .op = 0x3c083d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7107,19 +7108,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff08, .op = 0x3c103d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7127,19 +7128,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff08, .op = 0x3c183d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7147,19 +7148,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff08ff08, .op = 0x3d083d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7167,19 +7168,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff08ff08, .op = 0x3d003d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7187,20 +7188,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x33003d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7208,19 +7209,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x31003d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7228,19 +7229,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff08, .op = 0x28003d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7248,19 +7249,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff08, .op = 0x3a003d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7268,19 +7269,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x35003d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7288,19 +7289,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x34003d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7308,19 +7309,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x30003d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7328,19 +7329,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x37003d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7348,19 +7349,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x36003d08 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7368,19 +7369,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff08, .op = 0x28003d08 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_COMBINERZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(,#0)", .il_ops = { - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7388,20 +7389,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800ff08, .op = 0x20003d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7409,20 +7410,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x38003d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7430,19 +7431,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff08, .op = 0x2c003d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7450,19 +7451,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x32003d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7470,9 +7471,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff08, .op = 0x3a703d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 31 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -7480,9 +7481,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (!P0) = #0 ; = combine(#0,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7490,9 +7491,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff08, .op = 0x3a503d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 35 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -7500,9 +7501,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (!P0.new) = #0 ; = combine(#0,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7510,9 +7511,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff08, .op = 0x3a603d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 30 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -7520,9 +7521,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0) = #0 ; = combine(#0,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7530,9 +7531,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff08, .op = 0x3a403d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 34 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 34 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -7540,9 +7541,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .syntax = "if (P0.new) = #0 ; = combine(#0,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7550,19 +7551,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff0cff08, .op = 0x39003d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7570,19 +7571,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff08, .op = 0x3c003d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 32 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7590,19 +7591,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff08, .op = 0x3c083d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 32 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7610,19 +7611,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff08, .op = 0x3c103d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 32 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7630,19 +7631,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff98ff08, .op = 0x3c183d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 32 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7650,19 +7651,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff08ff08, .op = 0x3d003d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 32 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7670,20 +7671,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x33003d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7691,19 +7692,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x31003d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7711,19 +7712,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff08, .op = 0x28003d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7731,19 +7732,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0ff08, .op = 0x3a003d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7751,19 +7752,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x35003d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7771,19 +7772,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x34003d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7791,19 +7792,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x30003d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7811,19 +7812,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x37003d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7831,19 +7832,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff08, .op = 0x36003d00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7851,19 +7852,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff08, .op = 0x28003d00 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_COMBINEZR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = combine(#0,)", .il_ops = { - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7871,11 +7872,11 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800ff00, .op = 0x20003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_DEC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 20 }, }, .pred = HEX_NOPRED, @@ -7883,9 +7884,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = add(,)", .il_ops = { - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7893,10 +7894,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x2c003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_DEC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 23 }, }, .pred = HEX_NOPRED, @@ -7904,9 +7905,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = add(,)", .il_ops = { - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7914,10 +7915,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x32003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_DEC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 22 }, }, .pred = HEX_NOPRED, @@ -7925,9 +7926,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = add(,)", .il_ops = { - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7935,11 +7936,11 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x33003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_DEC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 20 }, }, .pred = HEX_NOPRED, @@ -7947,9 +7948,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = add(,)", .il_ops = { - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7957,10 +7958,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x31003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_DEC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 22 }, }, .pred = HEX_NOPRED, @@ -7968,9 +7969,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = add(,)", .il_ops = { - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7978,10 +7979,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_DEC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 14 }, }, .pred = HEX_NOPRED, @@ -7989,9 +7990,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = add(,)", .il_ops = { - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -7999,10 +8000,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x30003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_DEC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 14 }, }, .pred = HEX_NOPRED, @@ -8010,9 +8011,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = add(,)", .il_ops = { - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8020,10 +8021,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003300 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_DEC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 14 }, }, .pred = HEX_NOPRED, @@ -8031,9 +8032,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = add(,)", .il_ops = { - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8041,20 +8042,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800ff00, .op = 0x20003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_INC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = add(,#1)", .il_ops = { - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8062,19 +8063,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x2c003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_INC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = add(,#1)", .il_ops = { - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8082,19 +8083,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x31003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_INC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = add(,#1)", .il_ops = { - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8102,19 +8103,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_INC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = add(,#1)", .il_ops = { - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8122,19 +8123,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x30003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_INC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = add(,#1)", .il_ops = { - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8142,19 +8143,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003100 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_INC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = add(,#1)", .il_ops = { - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8162,10 +8163,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800fff0, .op = 0x20003a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_SETIN1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 15 }, }, .pred = HEX_NOPRED, @@ -8173,9 +8174,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = ", .il_ops = { - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8183,10 +8184,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x38003a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SA1_SETIN1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 15 }, }, .pred = HEX_NOPRED, @@ -8194,9 +8195,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = ", .il_ops = { - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8204,9 +8205,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fff0, .op = 0x2c003a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_SETIN1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 18 }, }, .pred = HEX_NOPRED, @@ -8214,9 +8215,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = ", .il_ops = { - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8224,9 +8225,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x32003a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_SETIN1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 17 }, }, .pred = HEX_NOPRED, @@ -8234,9 +8235,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = ", .il_ops = { - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8244,9 +8245,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff0cfff0, .op = 0x39003a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SA1_SETIN1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 17 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 20 }, }, .pred = HEX_NOPRED, @@ -8254,9 +8255,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; = ", .il_ops = { - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8264,10 +8265,10 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x33003a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_SETIN1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 15 }, }, .pred = HEX_NOPRED, @@ -8275,9 +8276,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = ", .il_ops = { - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8285,9 +8286,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x31003a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_SETIN1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 17 }, }, .pred = HEX_NOPRED, @@ -8295,9 +8296,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = ", .il_ops = { - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8305,9 +8306,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fff0, .op = 0x28003a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_SETIN1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 9 }, }, .pred = HEX_NOPRED, @@ -8315,9 +8316,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = ", .il_ops = { - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8325,9 +8326,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfff0fff0, .op = 0x3a003a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SA1_SETIN1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 9 }, }, .pred = HEX_NOPRED, @@ -8335,9 +8336,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = ", .il_ops = { - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8345,9 +8346,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x35003a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SA1_SETIN1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 15 }, }, .pred = HEX_NOPRED, @@ -8355,9 +8356,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = ", .il_ops = { - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8365,9 +8366,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x34003a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_SETIN1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 15 }, }, .pred = HEX_NOPRED, @@ -8375,9 +8376,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = ", .il_ops = { - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8385,9 +8386,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x30003a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_SETIN1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 9 }, }, .pred = HEX_NOPRED, @@ -8395,9 +8396,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = ", .il_ops = { - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8405,9 +8406,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x37003a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SA1_SETIN1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 16 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 19 }, }, .pred = HEX_NOPRED, @@ -8415,9 +8416,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; = ", .il_ops = { - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8425,9 +8426,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00fff0, .op = 0x36003a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SA1_SETIN1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 15 }, }, .pred = HEX_NOPRED, @@ -8435,9 +8436,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = ", .il_ops = { - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8445,9 +8446,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fff0, .op = 0x28003a00 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_SETIN1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 9 }, }, .pred = HEX_NOPRED, @@ -8455,9 +8456,9 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = ", .il_ops = { - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8465,20 +8466,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800ff00, .op = 0x20003500 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_SXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = sxtb()", .il_ops = { - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8486,19 +8487,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x2c003500 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_SXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = sxtb()", .il_ops = { - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8506,19 +8507,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x32003500 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_SXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = sxtb()", .il_ops = { - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8526,20 +8527,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x33003500 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_SXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = sxtb()", .il_ops = { - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8547,19 +8548,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x31003500 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_SXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = sxtb()", .il_ops = { - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8567,19 +8568,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003500 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_SXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = sxtb()", .il_ops = { - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8587,19 +8588,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x35003500 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SA1_SXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = sxtb()", .il_ops = { - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8607,19 +8608,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x34003500 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_SXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = sxtb()", .il_ops = { - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8627,19 +8628,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x30003500 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_SXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = sxtb()", .il_ops = { - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8647,19 +8648,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003500 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_SXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = sxtb()", .il_ops = { - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8667,20 +8668,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800ff00, .op = 0x20003400 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_SXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = sxth()", .il_ops = { - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8688,19 +8689,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x2c003400 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_SXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = sxth()", .il_ops = { - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8708,19 +8709,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x32003400 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_SXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = sxth()", .il_ops = { - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8728,20 +8729,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x33003400 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_SXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = sxth()", .il_ops = { - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8749,19 +8750,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x31003400 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_SXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = sxth()", .il_ops = { - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8769,19 +8770,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003400 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_SXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = sxth()", .il_ops = { - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8789,19 +8790,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x34003400 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_SXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = sxth()", .il_ops = { - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8809,19 +8810,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x30003400 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_SXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = sxth()", .il_ops = { - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8829,19 +8830,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003400 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_SXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = sxth()", .il_ops = { - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8849,20 +8850,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800ff00, .op = 0x20003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_TFR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = ", .il_ops = { - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8870,19 +8871,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x2c003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_TFR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = ", .il_ops = { - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8890,19 +8891,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_TFR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = ", .il_ops = { - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8910,19 +8911,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x30003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_TFR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = ", .il_ops = { - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8930,19 +8931,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003000 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_TFR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = ", .il_ops = { - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8950,20 +8951,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800ff00, .op = 0x20003700 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_ZXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = and(,#255)", .il_ops = { - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8971,19 +8972,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x2c003700 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_ZXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = and(,#255)", .il_ops = { - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -8991,19 +8992,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x32003700 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_ZXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = and(,#255)", .il_ops = { - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9011,20 +9012,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x33003700 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_ZXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = and(,#255)", .il_ops = { - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9032,19 +9033,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x31003700 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_ZXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = and(,#255)", .il_ops = { - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9052,19 +9053,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003700 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_ZXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = and(,#255)", .il_ops = { - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9072,19 +9073,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x35003700 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SA1_ZXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = and(,#255)", .il_ops = { - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9092,19 +9093,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x34003700 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_ZXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = and(,#255)", .il_ops = { - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9112,19 +9113,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x30003700 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_ZXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = and(,#255)", .il_ops = { - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9132,19 +9133,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x37003700 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SA1_ZXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; = and(,#255)", .il_ops = { - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9152,19 +9153,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x36003700 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SA1_ZXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = and(,#255)", .il_ops = { - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9172,19 +9173,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003700 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_ZXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = and(,#255)", .il_ops = { - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9192,20 +9193,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800ff00, .op = 0x20003600 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SA1_ZXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = zxth()", .il_ops = { - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9213,19 +9214,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x2c003600 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SA1_ZXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = zxth()", .il_ops = { - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9233,19 +9234,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x32003600 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SA1_ZXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = zxth()", .il_ops = { - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9253,20 +9254,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x33003600 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SA1_ZXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = zxth()", .il_ops = { - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9274,19 +9275,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x31003600 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SA1_ZXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = zxth()", .il_ops = { - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9294,19 +9295,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003600 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SA1_ZXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = zxth()", .il_ops = { - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9314,19 +9315,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x35003600 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SA1_ZXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = zxth()", .il_ops = { - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9334,19 +9335,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x34003600 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SA1_ZXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = zxth()", .il_ops = { - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9354,19 +9355,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x30003600 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SA1_ZXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = zxth()", .il_ops = { - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9374,19 +9375,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xff00ff00, .op = 0x36003600 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SA1_ZXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = zxth()", .il_ops = { - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9394,19 +9395,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x28003600 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SA1_ZXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = zxth()", .il_ops = { - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9414,20 +9415,20 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xf800fc00, .op = 0x20002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_UNDOCUMENTED_SA2_TFRSI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 4 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 4 } }, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = ", .il_ops = { - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9435,19 +9436,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fc00, .op = 0x28002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_UNDOCUMENTED_SA2_TFRSI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 4 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 4 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = ", .il_ops = { - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9455,19 +9456,19 @@ static const HexInsnTemplate templates_duplex_0x3[] = { .encoding = { .mask = 0xfc00fc00, .op = 0x28002800 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_UNDOCUMENTED_SA2_TFRSI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 4 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 4 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = ", .il_ops = { - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -9479,21 +9480,21 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xf800f000, .op = 0x40000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9501,21 +9502,21 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x58000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9523,20 +9524,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xfc00f000, .op = 0x4c000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9544,20 +9545,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x52000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9565,10 +9566,10 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xfff0f000, .op = 0x5a700000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 26 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -9576,9 +9577,9 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .syntax = "if (!P0) = #0 ; = memw(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9586,10 +9587,10 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xfff0f000, .op = 0x5a500000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 30 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -9597,9 +9598,9 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .syntax = "if (!P0.new) = #0 ; = memw(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9607,10 +9608,10 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xfff0f000, .op = 0x5a600000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 25 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -9618,9 +9619,9 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .syntax = "if (P0) = #0 ; = memw(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9628,10 +9629,10 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xfff0f000, .op = 0x5a400000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 29 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -9639,9 +9640,9 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .syntax = "if (P0.new) = #0 ; = memw(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9649,20 +9650,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff0cf000, .op = 0x59000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9670,20 +9671,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff98f000, .op = 0x5c000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9691,20 +9692,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff98f000, .op = 0x5c080000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9712,20 +9713,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff98f000, .op = 0x5c100000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9733,20 +9734,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff98f000, .op = 0x5c180000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9754,20 +9755,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff08f000, .op = 0x5d080000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9775,20 +9776,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff08f000, .op = 0x5d000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9796,21 +9797,21 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x53000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9818,20 +9819,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x51000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9839,20 +9840,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xfc00f000, .op = 0x48000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9860,20 +9861,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xfff0f000, .op = 0x5a000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9881,20 +9882,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x55000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9902,20 +9903,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x54000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9923,20 +9924,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x50000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9944,20 +9945,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x57000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9965,20 +9966,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x56000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -9986,20 +9987,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xfc00f000, .op = 0x48000000 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL1_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memw(+)", .il_ops = { - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10007,21 +10008,21 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xf800f000, .op = 0x40001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10029,21 +10030,21 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x58001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10051,20 +10052,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xfc00f000, .op = 0x4c001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10072,20 +10073,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x52001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10093,10 +10094,10 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xfff0f000, .op = 0x5a701000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 27 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -10104,9 +10105,9 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .syntax = "if (!P0) = #0 ; = memub(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10114,10 +10115,10 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xfff0f000, .op = 0x5a501000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 31 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -10125,9 +10126,9 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .syntax = "if (!P0.new) = #0 ; = memub(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10135,10 +10136,10 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xfff0f000, .op = 0x5a601000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -10146,9 +10147,9 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .syntax = "if (P0) = #0 ; = memub(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10156,10 +10157,10 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xfff0f000, .op = 0x5a401000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 30 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -10167,9 +10168,9 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .syntax = "if (P0.new) = #0 ; = memub(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10177,20 +10178,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff0cf000, .op = 0x59001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10198,20 +10199,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff98f000, .op = 0x5c001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10219,20 +10220,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff98f000, .op = 0x5c081000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10240,20 +10241,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff98f000, .op = 0x5c101000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10261,20 +10262,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff98f000, .op = 0x5c181000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10282,20 +10283,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff08f000, .op = 0x5d081000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10303,20 +10304,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff08f000, .op = 0x5d001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10324,21 +10325,21 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x53001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10346,20 +10347,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x51001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10367,20 +10368,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xfc00f000, .op = 0x48001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10388,20 +10389,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xfff0f000, .op = 0x5a001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10409,20 +10410,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x55001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10430,20 +10431,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x54001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10451,20 +10452,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x50001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10472,20 +10473,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x57001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10493,20 +10494,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xff00f000, .op = 0x56001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10514,20 +10515,20 @@ static const HexInsnTemplate templates_duplex_0x4[] = { .encoding = { .mask = 0xfc00f000, .op = 0x48001000 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL1_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memub(+)", .il_ops = { - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -10539,18 +10540,18 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xf800ffff, .op = 0x40003f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10558,18 +10559,18 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x58003f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10577,17 +10578,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x4c003f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10595,17 +10596,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x52003f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10613,7 +10614,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a703f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -10621,9 +10622,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0) = #0 ; deallocframe", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10631,7 +10632,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a503f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -10639,9 +10640,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0.new) = #0 ; deallocframe", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10649,7 +10650,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a603f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -10657,9 +10658,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0) = #0 ; deallocframe", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10667,7 +10668,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a403f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -10675,9 +10676,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0.new) = #0 ; deallocframe", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10685,17 +10686,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff0cffff, .op = 0x59003f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10703,17 +10704,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c003f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10721,17 +10722,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c083f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10739,17 +10740,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c103f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10757,17 +10758,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c183f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10775,17 +10776,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d083f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10793,17 +10794,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d003f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10811,8 +10812,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x53003f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, }, .pred = HEX_NOPRED, @@ -10820,9 +10821,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10830,17 +10831,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x51003f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10848,17 +10849,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10866,7 +10867,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a003f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, }, .pred = HEX_NOPRED, @@ -10874,9 +10875,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10884,17 +10885,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x55003f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10902,17 +10903,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x54003f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10920,17 +10921,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x50003f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10938,17 +10939,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x57003f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10956,17 +10957,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x56003f00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10974,17 +10975,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003f00 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; deallocframe", .il_ops = { - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -10992,18 +10993,18 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xf800ffff, .op = 0x40003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = add(,) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11011,18 +11012,18 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x58003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = add(,) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11030,17 +11031,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x4c003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = add(R29,) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11048,17 +11049,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x52003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = and(,#1) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11066,7 +11067,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a703fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11074,9 +11075,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0) = #0 ; jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11084,7 +11085,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a503fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11092,9 +11093,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0.new) = #0 ; jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11102,7 +11103,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a603fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -11110,9 +11111,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0) = #0 ; jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11120,7 +11121,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a403fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -11128,9 +11129,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0.new) = #0 ; jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11138,17 +11139,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff0cffff, .op = 0x59003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = "P0 = cmp.eq(,) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11156,17 +11157,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = combine(#0,) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11174,17 +11175,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c083fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = combine(#1,) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11192,17 +11193,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c103fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = combine(#2,) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11210,17 +11211,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c183fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = combine(#3,) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11228,17 +11229,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d083fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = combine(,#0) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11246,17 +11247,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = combine(#0,) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11264,8 +11265,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x53003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, }, .pred = HEX_NOPRED, @@ -11273,9 +11274,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = add(,) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11283,17 +11284,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x51003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = add(,#1) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11301,17 +11302,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11319,7 +11320,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, }, .pred = HEX_NOPRED, @@ -11327,9 +11328,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11337,17 +11338,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x55003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = sxtb() ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11355,17 +11356,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x54003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = sxth() ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11373,17 +11374,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x50003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11391,17 +11392,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x57003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = and(,#255) ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11409,17 +11410,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x56003fc0 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = zxth() ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11427,17 +11428,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003fc0 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL2_JUMPR31, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = ; jumpr R31", .il_ops = { - { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11445,9 +11446,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xf800ffff, .op = 0x40003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11455,9 +11456,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11465,9 +11466,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x58003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11475,9 +11476,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11485,8 +11486,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x4c003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11494,9 +11495,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(R29,) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11504,8 +11505,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x52003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11513,9 +11514,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = and(,#1) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11523,7 +11524,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a703fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11531,9 +11532,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0) = #0 ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11541,7 +11542,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a503fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11549,9 +11550,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0.new) = #0 ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11559,7 +11560,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a603fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -11567,9 +11568,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0) = #0 ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11577,7 +11578,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a403fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -11585,9 +11586,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0.new) = #0 ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11595,8 +11596,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff0cffff, .op = 0x59003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11604,9 +11605,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "P0 = cmp.eq(,) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11614,8 +11615,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11623,9 +11624,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#0,) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11633,8 +11634,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c083fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11642,9 +11643,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#1,) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11652,8 +11653,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c103fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11661,9 +11662,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#2,) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11671,8 +11672,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c183fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11680,9 +11681,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#3,) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11690,8 +11691,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d083fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11699,9 +11700,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(,#0) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11709,8 +11710,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11718,9 +11719,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#0,) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11728,8 +11729,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x53003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, }, .pred = HEX_PRED_FALSE, @@ -11738,9 +11739,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11748,8 +11749,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x51003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11757,9 +11758,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,#1) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11767,8 +11768,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11776,9 +11777,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11786,7 +11787,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, }, .pred = HEX_PRED_FALSE, @@ -11795,9 +11796,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11805,8 +11806,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x55003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11814,9 +11815,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = sxtb() ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11824,8 +11825,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x54003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11833,9 +11834,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = sxth() ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11843,8 +11844,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x50003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11852,9 +11853,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11862,8 +11863,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x57003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11871,9 +11872,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = and(,#255) ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11881,8 +11882,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x56003fc5 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11890,9 +11891,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = zxth() ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11900,8 +11901,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003fc5 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL2_JUMPR31_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11909,9 +11910,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (!P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11919,9 +11920,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xf800ffff, .op = 0x40003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11929,9 +11930,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11939,9 +11940,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x58003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11949,9 +11950,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11959,8 +11960,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x4c003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11968,9 +11969,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(R29,) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11978,8 +11979,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x52003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -11987,9 +11988,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = and(,#1) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -11997,7 +11998,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a703fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12005,9 +12006,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0) = #0 ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12015,7 +12016,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a503fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12023,9 +12024,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0.new) = #0 ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12033,7 +12034,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a603fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12041,9 +12042,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0) = #0 ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12051,7 +12052,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a403fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12059,9 +12060,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0.new) = #0 ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12069,8 +12070,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff0cffff, .op = 0x59003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12078,9 +12079,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "P0 = cmp.eq(,) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12088,8 +12089,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12097,9 +12098,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#0,) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12107,8 +12108,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c083fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12116,9 +12117,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#1,) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12126,8 +12127,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c103fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12135,9 +12136,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#2,) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12145,8 +12146,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c183fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12154,9 +12155,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#3,) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12164,8 +12165,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d083fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12173,9 +12174,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(,#0) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12183,8 +12184,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12192,9 +12193,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#0,) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12202,8 +12203,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x53003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, @@ -12212,9 +12213,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12222,8 +12223,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x51003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12231,9 +12232,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,#1) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12241,8 +12242,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12250,9 +12251,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12260,7 +12261,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, @@ -12269,9 +12270,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12279,8 +12280,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x55003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12288,9 +12289,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = sxtb() ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12298,8 +12299,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x54003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12307,9 +12308,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = sxth() ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12317,8 +12318,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x50003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12326,9 +12327,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12336,8 +12337,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x57003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12345,9 +12346,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = and(,#255) ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12355,8 +12356,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x56003fc7 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12364,9 +12365,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = zxth() ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12374,8 +12375,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003fc7 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL2_JUMPR31_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -12383,9 +12384,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (!P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12393,9 +12394,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xf800ffff, .op = 0x40003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12403,9 +12404,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12413,9 +12414,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x58003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12423,9 +12424,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12433,8 +12434,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x4c003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12442,9 +12443,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(R29,) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12452,8 +12453,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x52003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12461,9 +12462,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = and(,#1) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12471,7 +12472,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a703fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12479,9 +12480,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0) = #0 ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12489,7 +12490,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a503fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12497,9 +12498,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0.new) = #0 ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12507,7 +12508,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a603fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12515,9 +12516,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0) = #0 ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12525,7 +12526,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a403fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12533,9 +12534,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0.new) = #0 ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12543,8 +12544,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff0cffff, .op = 0x59003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12552,9 +12553,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "P0 = cmp.eq(,) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12562,8 +12563,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12571,9 +12572,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#0,) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12581,8 +12582,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c083fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12590,9 +12591,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#1,) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12600,8 +12601,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c103fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12609,9 +12610,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#2,) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12619,8 +12620,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c183fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12628,9 +12629,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#3,) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12638,8 +12639,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d083fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12647,9 +12648,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(,#0) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12657,8 +12658,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12666,9 +12667,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#0,) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12676,8 +12677,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x53003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, }, .pred = HEX_PRED_TRUE, @@ -12686,9 +12687,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12696,8 +12697,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x51003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12705,9 +12706,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,#1) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12715,8 +12716,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12724,9 +12725,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12734,7 +12735,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, }, .pred = HEX_PRED_TRUE, @@ -12743,9 +12744,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12753,8 +12754,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x55003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12762,9 +12763,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = sxtb() ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12772,8 +12773,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x54003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12781,9 +12782,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = sxth() ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12791,8 +12792,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x50003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12800,9 +12801,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12810,8 +12811,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x57003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12819,9 +12820,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = and(,#255) ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12829,8 +12830,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x56003fc4 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12838,9 +12839,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = zxth() ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12848,8 +12849,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003fc4 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL2_JUMPR31_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12857,9 +12858,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (P0) jumpr R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12867,9 +12868,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xf800ffff, .op = 0x40003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12877,9 +12878,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12887,9 +12888,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x58003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12897,9 +12898,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12907,8 +12908,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x4c003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12916,9 +12917,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(R29,) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12926,8 +12927,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x52003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12935,9 +12936,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = and(,#1) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12945,7 +12946,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a703fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12953,9 +12954,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0) = #0 ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12963,7 +12964,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a503fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12971,9 +12972,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0.new) = #0 ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12981,7 +12982,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a603fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -12989,9 +12990,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0) = #0 ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -12999,7 +13000,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a403fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13007,9 +13008,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0.new) = #0 ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13017,8 +13018,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff0cffff, .op = 0x59003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13026,9 +13027,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "P0 = cmp.eq(,) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13036,8 +13037,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13045,9 +13046,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#0,) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13055,8 +13056,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c083fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13064,9 +13065,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#1,) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13074,8 +13075,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c103fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13083,9 +13084,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#2,) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13093,8 +13094,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c183fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13102,9 +13103,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#3,) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13112,8 +13113,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d083fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13121,9 +13122,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(,#0) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13131,8 +13132,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13140,9 +13141,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#0,) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13150,8 +13151,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x53003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, @@ -13160,9 +13161,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13170,8 +13171,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x51003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13179,9 +13180,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,#1) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13189,8 +13190,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13198,9 +13199,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13208,7 +13209,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, @@ -13217,9 +13218,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13227,8 +13228,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x55003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13236,9 +13237,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = sxtb() ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13246,8 +13247,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x54003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13255,9 +13256,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = sxth() ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13265,8 +13266,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x50003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13274,9 +13275,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13284,8 +13285,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x57003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13293,9 +13294,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = and(,#255) ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13303,8 +13304,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x56003fc6 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13312,9 +13313,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = zxth() ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13322,8 +13323,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003fc6 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL2_JUMPR31_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13331,9 +13332,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (P0.new) jumpr:nt R31", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_jumpr31_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13341,21 +13342,21 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xf800f800, .op = 0x40003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13363,21 +13364,21 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x58003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13385,20 +13386,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00f800, .op = 0x4c003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13406,20 +13407,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x52003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13427,10 +13428,10 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0f800, .op = 0x5a703000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -13438,9 +13439,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0) = #0 ; = memb(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13448,10 +13449,10 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0f800, .op = 0x5a503000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 30 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -13459,9 +13460,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0.new) = #0 ; = memb(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13469,10 +13470,10 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0f800, .op = 0x5a603000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 25 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13480,9 +13481,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0) = #0 ; = memb(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13490,10 +13491,10 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0f800, .op = 0x5a403000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 29 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -13501,9 +13502,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0.new) = #0 ; = memb(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13511,20 +13512,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff0cf800, .op = 0x59003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13532,20 +13533,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98f800, .op = 0x5c003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13553,20 +13554,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98f800, .op = 0x5c083000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13574,20 +13575,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98f800, .op = 0x5c103000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13595,20 +13596,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98f800, .op = 0x5c183000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13616,20 +13617,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08f800, .op = 0x5d083000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13637,20 +13638,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08f800, .op = 0x5d003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13658,21 +13659,21 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x53003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13680,20 +13681,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x51003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13701,20 +13702,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00f800, .op = 0x48003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13722,20 +13723,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0f800, .op = 0x5a003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13743,20 +13744,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x55003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13764,20 +13765,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x54003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13785,20 +13786,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x50003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13806,20 +13807,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x57003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13827,20 +13828,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x56003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13848,20 +13849,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00f800, .op = 0x48003000 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memb(+)", .il_ops = { - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13869,20 +13870,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xf800ff00, .op = 0x40003e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13890,20 +13891,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ff00, .op = 0x58003e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13911,19 +13912,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x4c003e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13931,19 +13932,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ff00, .op = 0x52003e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13951,9 +13952,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x5a703e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 29 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -13961,9 +13962,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0) = #0 ; = memd(R29+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13971,9 +13972,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x5a503e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 33 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 33 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -13981,9 +13982,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0.new) = #0 ; = memd(R29+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -13991,9 +13992,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x5a603e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 28 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -14001,9 +14002,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0) = #0 ; = memd(R29+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14011,9 +14012,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x5a403e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 32 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -14021,9 +14022,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0.new) = #0 ; = memd(R29+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14031,19 +14032,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff0cff00, .op = 0x59003e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14051,19 +14052,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ff00, .op = 0x5c003e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14071,19 +14072,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ff00, .op = 0x5c083e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14091,19 +14092,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ff00, .op = 0x5c103e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14111,19 +14112,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ff00, .op = 0x5c183e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14131,19 +14132,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ff00, .op = 0x5d083e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14151,19 +14152,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ff00, .op = 0x5d003e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14171,20 +14172,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ff00, .op = 0x53003e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14192,19 +14193,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ff00, .op = 0x51003e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14212,19 +14213,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x48003e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14232,19 +14233,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x5a003e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14252,19 +14253,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ff00, .op = 0x55003e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14272,19 +14273,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ff00, .op = 0x54003e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14292,19 +14293,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ff00, .op = 0x50003e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14312,19 +14313,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ff00, .op = 0x57003e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14332,19 +14333,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ff00, .op = 0x56003e00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14352,19 +14353,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x48003e00 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL2_LOADRD_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .imm_scale = 3, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 3 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memd(R29+)", .il_ops = { - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14372,21 +14373,21 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xf800f800, .op = 0x40002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14394,21 +14395,21 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x58002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14416,20 +14417,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00f800, .op = 0x4c002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14437,20 +14438,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x52002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14458,10 +14459,10 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0f800, .op = 0x5a702000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 26 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -14469,9 +14470,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0) = #0 ; = memh(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14479,10 +14480,10 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0f800, .op = 0x5a502000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 30 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -14490,9 +14491,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0.new) = #0 ; = memh(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14500,10 +14501,10 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0f800, .op = 0x5a602000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 25 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -14511,9 +14512,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0) = #0 ; = memh(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14521,10 +14522,10 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0f800, .op = 0x5a402000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 29 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -14532,9 +14533,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0.new) = #0 ; = memh(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14542,20 +14543,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff0cf800, .op = 0x59002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14563,20 +14564,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98f800, .op = 0x5c002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14584,20 +14585,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98f800, .op = 0x5c082000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14605,20 +14606,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98f800, .op = 0x5c102000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14626,20 +14627,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98f800, .op = 0x5c182000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14647,20 +14648,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08f800, .op = 0x5d082000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14668,20 +14669,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08f800, .op = 0x5d002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14689,21 +14690,21 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x53002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14711,20 +14712,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x51002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14732,20 +14733,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00f800, .op = 0x48002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14753,20 +14754,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0f800, .op = 0x5a002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14774,20 +14775,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x55002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14795,20 +14796,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x54002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14816,20 +14817,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x50002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14837,20 +14838,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x57002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14858,20 +14859,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x56002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14879,20 +14880,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00f800, .op = 0x48002000 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memh(+)", .il_ops = { - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14900,20 +14901,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xf800fe00, .op = 0x40003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14921,20 +14922,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00fe00, .op = 0x58003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14942,19 +14943,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00fe00, .op = 0x4c003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14962,19 +14963,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00fe00, .op = 0x52003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -14982,9 +14983,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0fe00, .op = 0x5a703c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 29 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -14992,9 +14993,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0) = #0 ; = memw(R29+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15002,9 +15003,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0fe00, .op = 0x5a503c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 33 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 33 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -15012,9 +15013,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0.new) = #0 ; = memw(R29+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15022,9 +15023,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0fe00, .op = 0x5a603c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -15032,9 +15033,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0) = #0 ; = memw(R29+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15042,9 +15043,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0fe00, .op = 0x5a403c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 32 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -15052,9 +15053,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0.new) = #0 ; = memw(R29+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15062,19 +15063,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff0cfe00, .op = 0x59003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15082,19 +15083,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98fe00, .op = 0x5c003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15102,19 +15103,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98fe00, .op = 0x5c083c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15122,19 +15123,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98fe00, .op = 0x5c103c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15142,19 +15143,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98fe00, .op = 0x5c183c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15162,19 +15163,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08fe00, .op = 0x5d083c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15182,19 +15183,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08fe00, .op = 0x5d003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15202,20 +15203,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00fe00, .op = 0x53003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15223,19 +15224,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00fe00, .op = 0x51003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15243,19 +15244,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00fe00, .op = 0x48003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15263,19 +15264,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0fe00, .op = 0x5a003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15283,19 +15284,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00fe00, .op = 0x55003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15303,19 +15304,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00fe00, .op = 0x54003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15323,19 +15324,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00fe00, .op = 0x50003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15343,19 +15344,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00fe00, .op = 0x57003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15363,19 +15364,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00fe00, .op = 0x56003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15383,19 +15384,19 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00fe00, .op = 0x48003c00 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL2_LOADRI_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memw(R29+)", .il_ops = { - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15403,21 +15404,21 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xf800f800, .op = 0x40002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15425,21 +15426,21 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x58002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15447,20 +15448,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00f800, .op = 0x4c002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15468,20 +15469,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x52002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15489,10 +15490,10 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0f800, .op = 0x5a702800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 27 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -15500,9 +15501,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0) = #0 ; = memuh(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15510,10 +15511,10 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0f800, .op = 0x5a502800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 31 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -15521,9 +15522,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0.new) = #0 ; = memuh(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15531,10 +15532,10 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0f800, .op = 0x5a602800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 26 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -15542,9 +15543,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0) = #0 ; = memuh(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15552,10 +15553,10 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0f800, .op = 0x5a402800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 30 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -15563,9 +15564,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0.new) = #0 ; = memuh(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15573,20 +15574,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff0cf800, .op = 0x59002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15594,20 +15595,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98f800, .op = 0x5c002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15615,20 +15616,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98f800, .op = 0x5c082800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15636,20 +15637,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98f800, .op = 0x5c102800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15657,20 +15658,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98f800, .op = 0x5c182800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15678,20 +15679,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08f800, .op = 0x5d082800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15699,20 +15700,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08f800, .op = 0x5d002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15720,21 +15721,21 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x53002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15742,20 +15743,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x51002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15763,20 +15764,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00f800, .op = 0x48002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15784,20 +15785,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0f800, .op = 0x5a002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15805,20 +15806,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x55002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15826,20 +15827,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x54002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15847,20 +15848,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x50002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15868,20 +15869,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x57002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15889,20 +15890,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00f800, .op = 0x56002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15910,20 +15911,20 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00f800, .op = 0x48002800 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'D', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; = memuh(+)", .il_ops = { - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15931,18 +15932,18 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xf800ffff, .op = 0x40003f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = add(,) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15950,18 +15951,18 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x58003f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = add(,) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15969,17 +15970,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x4c003f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = add(R29,) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -15987,17 +15988,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x52003f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = and(,#1) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16005,7 +16006,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a703f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16013,9 +16014,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0) = #0 ; dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16023,7 +16024,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a503f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16031,9 +16032,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0.new) = #0 ; dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16041,7 +16042,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a603f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -16049,9 +16050,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0) = #0 ; dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16059,7 +16060,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a403f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -16067,9 +16068,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0.new) = #0 ; dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16077,17 +16078,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff0cffff, .op = 0x59003f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = "P0 = cmp.eq(,) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16095,17 +16096,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c003f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = combine(#0,) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16113,17 +16114,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c083f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = combine(#1,) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16131,17 +16132,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c103f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = combine(#2,) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16149,17 +16150,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c183f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = combine(#3,) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16167,17 +16168,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d083f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = combine(,#0) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16185,17 +16186,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d003f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = combine(#0,) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16203,8 +16204,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x53003f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, }, .pred = HEX_NOPRED, @@ -16212,9 +16213,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = add(,) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16222,17 +16223,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x51003f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = add(,#1) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16240,17 +16241,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16258,7 +16259,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a003f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, }, .pred = HEX_NOPRED, @@ -16266,9 +16267,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16276,17 +16277,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x55003f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = sxtb() ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16294,17 +16295,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x54003f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = sxth() ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16312,17 +16313,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x50003f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16330,17 +16331,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x57003f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = and(,#255) ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16348,17 +16349,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x56003f40 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = zxth() ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16366,17 +16367,17 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003f40 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL2_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = ; dealloc_return", .il_ops = { - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16384,9 +16385,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xf800ffff, .op = 0x40003f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16394,9 +16395,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16404,9 +16405,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x58003f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16414,9 +16415,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16424,8 +16425,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x4c003f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16433,9 +16434,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(R29,) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16443,8 +16444,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x52003f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16452,9 +16453,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = and(,#1) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16462,7 +16463,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a703f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16470,9 +16471,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0) = #0 ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16480,7 +16481,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a503f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16488,9 +16489,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0.new) = #0 ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16498,7 +16499,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a603f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -16506,9 +16507,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0) = #0 ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16516,7 +16517,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a403f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -16524,9 +16525,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0.new) = #0 ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16534,8 +16535,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff0cffff, .op = 0x59003f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16543,9 +16544,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "P0 = cmp.eq(,) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16553,8 +16554,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c003f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16562,9 +16563,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#0,) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16572,8 +16573,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c083f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16581,9 +16582,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#1,) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16591,8 +16592,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c103f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16600,9 +16601,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#2,) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16610,8 +16611,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c183f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16619,9 +16620,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#3,) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16629,8 +16630,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d083f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16638,9 +16639,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(,#0) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16648,8 +16649,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d003f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16657,9 +16658,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#0,) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16667,8 +16668,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x53003f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, }, .pred = HEX_PRED_FALSE, @@ -16677,9 +16678,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16687,8 +16688,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x51003f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16696,9 +16697,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,#1) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16706,8 +16707,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16715,9 +16716,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16725,7 +16726,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a003f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, }, .pred = HEX_PRED_FALSE, @@ -16734,9 +16735,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16744,8 +16745,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x55003f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16753,9 +16754,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = sxtb() ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16763,8 +16764,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x54003f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16772,9 +16773,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = sxth() ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16782,8 +16783,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x50003f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16791,9 +16792,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16801,8 +16802,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x57003f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16810,9 +16811,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = and(,#255) ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16820,8 +16821,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x56003f45 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16829,9 +16830,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = zxth() ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16839,8 +16840,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003f45 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL2_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16848,9 +16849,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (!P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16858,9 +16859,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xf800ffff, .op = 0x40003f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16868,9 +16869,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16878,9 +16879,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x58003f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16888,9 +16889,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16898,8 +16899,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x4c003f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16907,9 +16908,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(R29,) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16917,8 +16918,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x52003f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16926,9 +16927,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = and(,#1) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16936,7 +16937,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a703f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16944,9 +16945,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0) = #0 ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16954,7 +16955,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a503f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -16962,9 +16963,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0.new) = #0 ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16972,7 +16973,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a603f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -16980,9 +16981,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0) = #0 ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -16990,7 +16991,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a403f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -16998,9 +16999,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0.new) = #0 ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17008,8 +17009,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff0cffff, .op = 0x59003f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -17017,9 +17018,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "P0 = cmp.eq(,) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17027,8 +17028,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c003f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -17036,9 +17037,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#0,) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17046,8 +17047,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c083f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -17055,9 +17056,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#1,) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17065,8 +17066,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c103f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -17074,9 +17075,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#2,) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17084,8 +17085,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c183f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -17093,9 +17094,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#3,) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17103,8 +17104,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d083f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -17112,9 +17113,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(,#0) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17122,8 +17123,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d003f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -17131,9 +17132,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#0,) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17141,8 +17142,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x53003f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, @@ -17151,9 +17152,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17161,8 +17162,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x51003f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -17170,9 +17171,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,#1) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17180,8 +17181,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -17189,9 +17190,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17199,7 +17200,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a003f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, @@ -17208,9 +17209,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17218,8 +17219,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x55003f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -17227,9 +17228,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = sxtb() ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17237,8 +17238,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x54003f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -17246,9 +17247,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = sxth() ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17256,8 +17257,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x50003f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -17265,9 +17266,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17275,8 +17276,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x57003f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -17284,9 +17285,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = and(,#255) ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17294,8 +17295,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x56003f47 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -17303,9 +17304,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = zxth() ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17313,8 +17314,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003f47 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL2_RETURN_FNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -17322,9 +17323,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (!P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17332,9 +17333,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xf800ffff, .op = 0x40003f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17342,9 +17343,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17352,9 +17353,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x58003f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17362,9 +17363,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17372,8 +17373,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x4c003f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17381,9 +17382,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(R29,) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17391,8 +17392,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x52003f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17400,9 +17401,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = and(,#1) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17410,7 +17411,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a703f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17418,9 +17419,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0) = #0 ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17428,7 +17429,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a503f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17436,9 +17437,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0.new) = #0 ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17446,7 +17447,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a603f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17454,9 +17455,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0) = #0 ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17464,7 +17465,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a403f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17472,9 +17473,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0.new) = #0 ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17482,8 +17483,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff0cffff, .op = 0x59003f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17491,9 +17492,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "P0 = cmp.eq(,) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17501,8 +17502,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c003f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17510,9 +17511,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#0,) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17520,8 +17521,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c083f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17529,9 +17530,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#1,) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17539,8 +17540,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c103f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17548,9 +17549,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#2,) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17558,8 +17559,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c183f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17567,9 +17568,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#3,) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17577,8 +17578,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d083f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17586,9 +17587,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(,#0) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17596,8 +17597,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d003f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17605,9 +17606,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#0,) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17615,8 +17616,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x53003f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, }, .pred = HEX_PRED_TRUE, @@ -17625,9 +17626,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17635,8 +17636,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x51003f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17644,9 +17645,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,#1) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17654,8 +17655,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17663,9 +17664,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17673,7 +17674,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a003f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, }, .pred = HEX_PRED_TRUE, @@ -17682,9 +17683,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17692,8 +17693,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x55003f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17701,9 +17702,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = sxtb() ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17711,8 +17712,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x54003f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17720,9 +17721,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = sxth() ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17730,8 +17731,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x50003f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17739,9 +17740,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17749,8 +17750,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x57003f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17758,9 +17759,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = and(,#255) ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17768,8 +17769,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x56003f44 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17777,9 +17778,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = zxth() ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17787,8 +17788,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003f44 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL2_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17796,9 +17797,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (P0) dealloc_return", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17806,9 +17807,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xf800ffff, .op = 0x40003f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17816,9 +17817,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17826,9 +17827,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x58003f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17836,9 +17837,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17846,8 +17847,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x4c003f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17855,9 +17856,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(R29,) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17865,8 +17866,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x52003f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17874,9 +17875,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = and(,#1) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17884,7 +17885,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a703f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17892,9 +17893,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0) = #0 ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17902,7 +17903,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a503f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17910,9 +17911,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (!P0.new) = #0 ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17920,7 +17921,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a603f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17928,9 +17929,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0) = #0 ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17938,7 +17939,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a403f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17946,9 +17947,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "if (P0.new) = #0 ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17956,8 +17957,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff0cffff, .op = 0x59003f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 16 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17965,9 +17966,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = "P0 = cmp.eq(,) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17975,8 +17976,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c003f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -17984,9 +17985,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#0,) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -17994,8 +17995,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c083f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18003,9 +18004,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#1,) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18013,8 +18014,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c103f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18022,9 +18023,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#2,) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18032,8 +18033,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff98ffff, .op = 0x5c183f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18041,9 +18042,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#3,) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18051,8 +18052,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d083f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18060,9 +18061,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(,#0) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18070,8 +18071,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff08ffff, .op = 0x5d003f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18079,9 +18080,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = combine(#0,) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18089,8 +18090,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x53003f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, @@ -18099,9 +18100,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18109,8 +18110,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x51003f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18118,9 +18119,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = add(,#1) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18128,8 +18129,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18137,9 +18138,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18147,7 +18148,7 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfff0ffff, .op = 0x5a003f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, @@ -18156,9 +18157,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18166,8 +18167,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x55003f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18175,9 +18176,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = sxtb() ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18185,8 +18186,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x54003f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18194,9 +18195,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = sxth() ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18204,8 +18205,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x50003f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18213,9 +18214,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18223,8 +18224,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x57003f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18232,9 +18233,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = and(,#255) ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18242,8 +18243,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xff00ffff, .op = 0x56003f46 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18251,9 +18252,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = zxth() ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18261,8 +18262,8 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .encoding = { .mask = 0xfc00ffff, .op = 0x48003f46 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SL2_RETURN_TNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 20 } }, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18270,9 +18271,9 @@ static const HexInsnTemplate templates_duplex_0x5[] = { .syntax = " = ; if (P0.new) dealloc_return:nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -18284,21 +18285,21 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xf800f000, .op = 0x60001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18306,21 +18307,21 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x78001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18328,20 +18329,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xfc00f000, .op = 0x6c001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18349,20 +18350,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x72001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18370,10 +18371,10 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xfff0f000, .op = 0x7a701000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -18381,9 +18382,9 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .syntax = "if (!P0) = #0 ; memb(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18391,10 +18392,10 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xfff0f000, .op = 0x7a501000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 31 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -18402,9 +18403,9 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .syntax = "if (!P0.new) = #0 ; memb(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18412,10 +18413,10 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xfff0f000, .op = 0x7a601000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18423,9 +18424,9 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .syntax = "if (P0) = #0 ; memb(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18433,10 +18434,10 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xfff0f000, .op = 0x7a401000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 30 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18444,9 +18445,9 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .syntax = "if (P0.new) = #0 ; memb(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18454,20 +18455,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff0cf000, .op = 0x79001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18475,20 +18476,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff98f000, .op = 0x7c001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18496,20 +18497,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff98f000, .op = 0x7c081000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18517,20 +18518,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff98f000, .op = 0x7c101000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18538,20 +18539,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff98f000, .op = 0x7c181000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18559,20 +18560,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff08f000, .op = 0x7d081000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18580,20 +18581,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff08f000, .op = 0x7d001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18601,21 +18602,21 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x73001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18623,20 +18624,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x71001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18644,20 +18645,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xfc00f000, .op = 0x68001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18665,20 +18666,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xfff0f000, .op = 0x7a001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18686,20 +18687,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x75001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18707,20 +18708,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x74001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18728,20 +18729,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x70001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18749,20 +18750,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x77001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18770,20 +18771,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x76001000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18791,20 +18792,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xfc00f000, .op = 0x68001000 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18812,21 +18813,21 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xf800f000, .op = 0x60000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18834,21 +18835,21 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x78000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18856,20 +18857,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xfc00f000, .op = 0x6c000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18877,20 +18878,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x72000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18898,10 +18899,10 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xfff0f000, .op = 0x7a700000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -18909,9 +18910,9 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .syntax = "if (!P0) = #0 ; memw(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18919,10 +18920,10 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xfff0f000, .op = 0x7a500000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 31 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -18930,9 +18931,9 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .syntax = "if (!P0.new) = #0 ; memw(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18940,10 +18941,10 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xfff0f000, .op = 0x7a600000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18951,9 +18952,9 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .syntax = "if (P0) = #0 ; memw(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18961,10 +18962,10 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xfff0f000, .op = 0x7a400000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 30 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -18972,9 +18973,9 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .syntax = "if (P0.new) = #0 ; memw(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -18982,20 +18983,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff0cf000, .op = 0x79000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19003,20 +19004,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff98f000, .op = 0x7c000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19024,20 +19025,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff98f000, .op = 0x7c080000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19045,20 +19046,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff98f000, .op = 0x7c100000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19066,20 +19067,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff98f000, .op = 0x7c180000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19087,20 +19088,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff08f000, .op = 0x7d080000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19108,20 +19109,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff08f000, .op = 0x7d000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19129,21 +19130,21 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x73000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19151,20 +19152,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x71000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19172,20 +19173,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xfc00f000, .op = 0x68000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19193,20 +19194,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xfff0f000, .op = 0x7a000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19214,20 +19215,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x75000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19235,20 +19236,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x74000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19256,20 +19257,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x70000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19277,20 +19278,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x77000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19298,20 +19299,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xff00f000, .op = 0x76000000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19319,20 +19320,20 @@ static const HexInsnTemplate templates_duplex_0x6[] = { .encoding = { .mask = 0xfc00f000, .op = 0x68000000 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -19344,19 +19345,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xf800fe0f, .op = 0x60003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19364,19 +19365,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe0f, .op = 0x78003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19384,18 +19385,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00fe0f, .op = 0x6c003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19403,18 +19404,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe0f, .op = 0x72003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19422,8 +19423,8 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0fe0f, .op = 0x7a703c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 28 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -19431,9 +19432,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (!P0) = #0 ; allocframe()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19441,8 +19442,8 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0fe0f, .op = 0x7a503c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 32 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -19450,9 +19451,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (!P0.new) = #0 ; allocframe()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19460,8 +19461,8 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0fe0f, .op = 0x7a603c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 27 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -19469,9 +19470,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (P0) = #0 ; allocframe()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19479,8 +19480,8 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0fe0f, .op = 0x7a403c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 31 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -19488,9 +19489,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (P0.new) = #0 ; allocframe()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19498,18 +19499,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff0cfe0f, .op = 0x79003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19517,18 +19518,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98fe0f, .op = 0x7c003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19536,18 +19537,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98fe0f, .op = 0x7c083c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19555,18 +19556,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98fe0f, .op = 0x7c103c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19574,18 +19575,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98fe0f, .op = 0x7c183c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19593,18 +19594,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff08fe0f, .op = 0x7d083c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19612,18 +19613,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff08fe0f, .op = 0x7d003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19631,19 +19632,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe0f, .op = 0x73003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19651,18 +19652,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe0f, .op = 0x71003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19670,18 +19671,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00fe0f, .op = 0x68003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19689,18 +19690,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0fe0f, .op = 0x7a003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19708,18 +19709,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe0f, .op = 0x75003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19727,18 +19728,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe0f, .op = 0x74003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19746,18 +19747,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe0f, .op = 0x70003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19765,18 +19766,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe0f, .op = 0x77003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19784,18 +19785,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe0f, .op = 0x76003c00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19803,18 +19804,18 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00fe0f, .op = 0x68003c00 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19822,20 +19823,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xf800ff00, .op = 0x60003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19843,20 +19844,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x78003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19864,19 +19865,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x6c003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19884,19 +19885,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x72003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19904,9 +19905,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a703200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 23 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -19914,9 +19915,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (!P0) = #0 ; memb(+) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19924,9 +19925,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a503200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 27 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -19934,9 +19935,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (!P0.new) = #0 ; memb(+) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19944,9 +19945,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a603200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -19954,9 +19955,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (P0) = #0 ; memb(+) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19964,9 +19965,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a403200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -19974,9 +19975,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (P0.new) = #0 ; memb(+) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -19984,19 +19985,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff0cff00, .op = 0x79003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20004,19 +20005,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98ff00, .op = 0x7c003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20024,19 +20025,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98ff00, .op = 0x7c083200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20044,19 +20045,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98ff00, .op = 0x7c103200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20064,19 +20065,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98ff00, .op = 0x7c183200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20084,19 +20085,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff08ff00, .op = 0x7d083200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20104,19 +20105,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff08ff00, .op = 0x7d003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20124,20 +20125,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x73003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20145,19 +20146,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x71003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20165,19 +20166,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x68003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20185,19 +20186,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20205,19 +20206,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x75003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20225,19 +20226,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x74003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20245,19 +20246,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x70003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20265,19 +20266,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x77003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20285,19 +20286,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x76003200 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20305,19 +20306,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x68003200 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20325,20 +20326,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xf800ff00, .op = 0x60003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20346,20 +20347,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x78003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20367,19 +20368,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x6c003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20387,19 +20388,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x72003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20407,9 +20408,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a703300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 23 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -20417,9 +20418,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (!P0) = #0 ; memb(+) = #1", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20427,9 +20428,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a503300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 27 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -20437,9 +20438,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (!P0.new) = #0 ; memb(+) = #1", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20447,9 +20448,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a603300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -20457,9 +20458,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (P0) = #0 ; memb(+) = #1", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20467,9 +20468,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a403300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 26 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -20477,9 +20478,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (P0.new) = #0 ; memb(+) = #1", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20487,19 +20488,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff0cff00, .op = 0x79003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20507,19 +20508,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98ff00, .op = 0x7c003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20527,19 +20528,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98ff00, .op = 0x7c083300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20547,19 +20548,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98ff00, .op = 0x7c103300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20567,19 +20568,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98ff00, .op = 0x7c183300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20587,19 +20588,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff08ff00, .op = 0x7d083300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20607,19 +20608,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff08ff00, .op = 0x7d003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20627,20 +20628,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x73003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20648,19 +20649,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x71003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20668,19 +20669,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x68003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20688,19 +20689,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20708,19 +20709,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x75003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20728,19 +20729,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x74003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20748,19 +20749,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x70003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20768,19 +20769,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x77003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20788,19 +20789,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x76003300 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20808,19 +20809,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x68003300 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20828,20 +20829,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xf800fe00, .op = 0x60002a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20849,20 +20850,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x78002a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20870,19 +20871,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00fe00, .op = 0x6c002a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20890,19 +20891,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x72002a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20910,9 +20911,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0fe00, .op = 0x7a702a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 30 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -20920,9 +20921,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (!P0) = #0 ; memd(R29+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20930,9 +20931,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0fe00, .op = 0x7a502a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 30 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 34 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 34 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -20940,9 +20941,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (!P0.new) = #0 ; memd(R29+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20950,9 +20951,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0fe00, .op = 0x7a602a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 29 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -20960,9 +20961,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (P0) = #0 ; memd(R29+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20970,9 +20971,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0fe00, .op = 0x7a402a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 29 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 33 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 33 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -20980,9 +20981,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (P0.new) = #0 ; memd(R29+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -20990,19 +20991,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff0cfe00, .op = 0x79002a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21010,19 +21011,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98fe00, .op = 0x7c002a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21030,19 +21031,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98fe00, .op = 0x7c082a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21050,19 +21051,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98fe00, .op = 0x7c102a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21070,19 +21071,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98fe00, .op = 0x7c182a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21090,19 +21091,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff08fe00, .op = 0x7d082a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21110,19 +21111,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff08fe00, .op = 0x7d002a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21130,20 +21131,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x73002a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21151,19 +21152,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x71002a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21171,19 +21172,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00fe00, .op = 0x68002a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21191,19 +21192,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0fe00, .op = 0x7a002a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21211,19 +21212,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x75002a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21231,19 +21232,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x74002a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21251,19 +21252,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x70002a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21271,19 +21272,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x77002a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21291,19 +21292,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x76002a00 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21311,19 +21312,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00fe00, .op = 0x68002a00 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21331,21 +21332,21 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xf800f800, .op = 0x60002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21353,21 +21354,21 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00f800, .op = 0x78002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21375,20 +21376,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00f800, .op = 0x6c002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21396,20 +21397,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00f800, .op = 0x72002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21417,10 +21418,10 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0f800, .op = 0x7a702000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -21428,9 +21429,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (!P0) = #0 ; memh(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21438,10 +21439,10 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0f800, .op = 0x7a502000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 31 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -21449,9 +21450,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (!P0.new) = #0 ; memh(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21459,10 +21460,10 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0f800, .op = 0x7a602000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -21470,9 +21471,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (P0) = #0 ; memh(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21480,10 +21481,10 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0f800, .op = 0x7a402000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 30 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -21491,9 +21492,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (P0.new) = #0 ; memh(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21501,20 +21502,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff0cf800, .op = 0x79002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21522,20 +21523,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98f800, .op = 0x7c002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21543,20 +21544,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98f800, .op = 0x7c082000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21564,20 +21565,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98f800, .op = 0x7c102000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21585,20 +21586,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98f800, .op = 0x7c182000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21606,20 +21607,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff08f800, .op = 0x7d082000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21627,20 +21628,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff08f800, .op = 0x7d002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21648,21 +21649,21 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00f800, .op = 0x73002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21670,20 +21671,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00f800, .op = 0x71002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21691,20 +21692,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00f800, .op = 0x68002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21712,20 +21713,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0f800, .op = 0x7a002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21733,20 +21734,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00f800, .op = 0x75002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21754,20 +21755,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00f800, .op = 0x74002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21775,20 +21776,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00f800, .op = 0x70002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21796,20 +21797,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00f800, .op = 0x77002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21817,20 +21818,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00f800, .op = 0x76002000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21838,20 +21839,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00f800, .op = 0x68002000 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21859,20 +21860,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xf800fe00, .op = 0x60002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21880,20 +21881,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x78002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21901,19 +21902,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00fe00, .op = 0x6c002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21921,19 +21922,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x72002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21941,9 +21942,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0fe00, .op = 0x7a702800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 30 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -21951,9 +21952,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (!P0) = #0 ; memw(R29+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21961,9 +21962,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0fe00, .op = 0x7a502800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 30 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 34 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 34 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -21971,9 +21972,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (!P0.new) = #0 ; memw(R29+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -21981,9 +21982,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0fe00, .op = 0x7a602800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 29 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -21991,9 +21992,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (P0) = #0 ; memw(R29+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22001,9 +22002,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0fe00, .op = 0x7a402800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 29 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 33 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 33 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -22011,9 +22012,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (P0.new) = #0 ; memw(R29+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22021,19 +22022,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff0cfe00, .op = 0x79002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22041,19 +22042,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98fe00, .op = 0x7c002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22061,19 +22062,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98fe00, .op = 0x7c082800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22081,19 +22082,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98fe00, .op = 0x7c102800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22101,19 +22102,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98fe00, .op = 0x7c182800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22121,19 +22122,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff08fe00, .op = 0x7d082800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22141,19 +22142,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff08fe00, .op = 0x7d002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 27 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 31 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22161,20 +22162,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x73002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22182,19 +22183,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x71002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22202,19 +22203,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00fe00, .op = 0x68002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22222,19 +22223,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0fe00, .op = 0x7a002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22242,19 +22243,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x75002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22262,19 +22263,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x74002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22282,19 +22283,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x70002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22302,19 +22303,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x77002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22322,19 +22323,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00fe00, .op = 0x76002800 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22342,19 +22343,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00fe00, .op = 0x68002800 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22362,20 +22363,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xf800ff00, .op = 0x60003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22383,20 +22384,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x78003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22404,19 +22405,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x6c003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22424,19 +22425,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x72003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22444,9 +22445,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a703000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 23 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -22454,9 +22455,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (!P0) = #0 ; memw(+) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22464,9 +22465,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a503000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -22474,9 +22475,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (!P0.new) = #0 ; memw(+) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22484,9 +22485,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a603000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -22494,9 +22495,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (P0) = #0 ; memw(+) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22504,9 +22505,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a403000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 26 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -22514,9 +22515,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (P0.new) = #0 ; memw(+) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22524,19 +22525,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff0cff00, .op = 0x79003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22544,19 +22545,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98ff00, .op = 0x7c003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22564,19 +22565,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98ff00, .op = 0x7c083000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22584,19 +22585,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98ff00, .op = 0x7c103000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22604,19 +22605,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98ff00, .op = 0x7c183000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22624,19 +22625,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff08ff00, .op = 0x7d083000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22644,19 +22645,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff08ff00, .op = 0x7d003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22664,20 +22665,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x73003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22685,19 +22686,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x71003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22705,19 +22706,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x68003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22725,19 +22726,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22745,19 +22746,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x75003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22765,19 +22766,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x74003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22785,19 +22786,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x70003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22805,19 +22806,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x77003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22825,19 +22826,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x76003000 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22845,19 +22846,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x68003000 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22865,20 +22866,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xf800ff00, .op = 0x60003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDI_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 20 } }, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22886,20 +22887,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x78003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDRX_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addrx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22907,19 +22908,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x6c003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ADDSP_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(R29,) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_addsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22927,19 +22928,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x72003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_AND1_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#1) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_and1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22947,9 +22948,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a703100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRF_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 23 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -22957,9 +22958,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (!P0) = #0 ; memw(+) = #1", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22967,9 +22968,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a503100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRFNEW_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -22977,9 +22978,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (!P0.new) = #0 ; memw(+) = #1", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -22987,9 +22988,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a603100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRT_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -22997,9 +22998,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (P0) = #0 ; memw(+) = #1", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23007,9 +23008,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a403100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CLRTNEW_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 26 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -23017,9 +23018,9 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .syntax = "if (P0.new) = #0 ; memw(+) = #1", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_clrtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23027,19 +23028,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff0cff00, .op = 0x79003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_CMPEQI_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 16 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "P0 = cmp.eq(,) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23047,19 +23048,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98ff00, .op = 0x7c003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE0I_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23067,19 +23068,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98ff00, .op = 0x7c083100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE1I_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#1,) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23087,19 +23088,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98ff00, .op = 0x7c103100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE2I_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#2,) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine2i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23107,19 +23108,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff98ff00, .op = 0x7c183100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINE3I_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#3,) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combine3i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23127,19 +23128,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff08ff00, .op = 0x7d083100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINERZ_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(,#0) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinerz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23147,19 +23148,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff08ff00, .op = 0x7d003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_COMBINEZR_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = combine(#0,) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_combinezr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23167,20 +23168,20 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x73003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_DEC_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_dec, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23188,19 +23189,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x71003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_INC_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,#1) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_inc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23208,19 +23209,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x68003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETI_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_seti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23228,19 +23229,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfff0ff00, .op = 0x7a003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SETIN1_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_setin1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23248,19 +23249,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x75003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTB_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxtb() ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23268,19 +23269,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x74003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_SXTH_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sxth() ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_sxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23288,19 +23289,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x70003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_TFR_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_tfr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23308,19 +23309,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x77003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTB_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,#255) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23328,19 +23329,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xff00ff00, .op = 0x76003100 }, .id = HEX_INS_X2_AUTOJOIN_SA1_ZXTH_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zxth() ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sa1_zxth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23348,19 +23349,19 @@ static const HexInsnTemplate templates_duplex_0x7[] = { .encoding = { .mask = 0xfc00ff00, .op = 0x68003100 }, .id = HEX_INS_X2_AUTOJOIN_UNDOCUMENTED_SA2_TFRSI_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 20 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_undocumented_sa2_tfrsi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -23372,21 +23373,21 @@ static const HexInsnTemplate templates_duplex_0x8[] = { .encoding = { .mask = 0xf000f000, .op = 0x80001000 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23394,21 +23395,21 @@ static const HexInsnTemplate templates_duplex_0x8[] = { .encoding = { .mask = 0xf000f000, .op = 0x90001000 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23416,21 +23417,21 @@ static const HexInsnTemplate templates_duplex_0x8[] = { .encoding = { .mask = 0xf000f000, .op = 0x80000000 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23438,21 +23439,21 @@ static const HexInsnTemplate templates_duplex_0x8[] = { .encoding = { .mask = 0xf000f000, .op = 0x90000000 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -23464,18 +23465,18 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xfffff000, .op = 0x9f003000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_DEALLOCFRAME_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "deallocframe ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23483,21 +23484,21 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xf800f000, .op = 0x90003000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(+) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23505,20 +23506,20 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xff00f000, .op = 0x9e003000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .isa_id = 'U', .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(R29+) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23526,21 +23527,21 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xf800f000, .op = 0x80003000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23548,20 +23549,20 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xfe00f000, .op = 0x9c003000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(R29+) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23569,21 +23570,21 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xf800f000, .op = 0x88003000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+) ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23591,18 +23592,18 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xfffff000, .op = 0x9f403000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = "dealloc_return ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23610,9 +23611,9 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xfffff000, .op = 0x9f453000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_F_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 32 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 36 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -23620,9 +23621,9 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .syntax = "if (!P0) dealloc_return ; memb(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23630,9 +23631,9 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xfffff000, .op = 0x9f473000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_FNEW_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 38 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 39 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 43 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 39 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 43 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -23640,9 +23641,9 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .syntax = "if (!P0.new) dealloc_return:nt ; memb(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23650,9 +23651,9 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xfffff000, .op = 0x9f443000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_T_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 31 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 35 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -23660,9 +23661,9 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .syntax = "if (P0) dealloc_return ; memb(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23670,9 +23671,9 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xfffff000, .op = 0x9f463000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_TNEW_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 37 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 38 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 42 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 42 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -23680,9 +23681,9 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .syntax = "if (P0.new) dealloc_return:nt ; memb(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23690,18 +23691,18 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xfffff000, .op = 0x9f002000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_DEALLOCFRAME_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "deallocframe ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23709,21 +23710,21 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xf800f000, .op = 0x90002000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(+) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23731,20 +23732,20 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xff00f000, .op = 0x9e002000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .isa_id = 'U', .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(R29+) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23752,21 +23753,21 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xf800f000, .op = 0x80002000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23774,20 +23775,20 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xfe00f000, .op = 0x9c002000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(R29+) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23795,21 +23796,21 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xf800f000, .op = 0x88002000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+) ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23817,18 +23818,18 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xfffff000, .op = 0x9f402000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = "dealloc_return ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23836,9 +23837,9 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xfffff000, .op = 0x9f452000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_F_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 32 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 36 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -23846,9 +23847,9 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .syntax = "if (!P0) dealloc_return ; memw(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23856,9 +23857,9 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xfffff000, .op = 0x9f472000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_FNEW_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 38 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 39 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 43 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 39 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 43 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -23866,9 +23867,9 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .syntax = "if (!P0.new) dealloc_return:nt ; memw(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23876,9 +23877,9 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xfffff000, .op = 0x9f442000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_T_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 31 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 35 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -23886,9 +23887,9 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .syntax = "if (P0) dealloc_return ; memw(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23896,9 +23897,9 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .encoding = { .mask = 0xfffff000, .op = 0x9f462000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_TNEW_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 37 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 38 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 42 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 42 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -23906,9 +23907,9 @@ static const HexInsnTemplate templates_duplex_0x9[] = { .syntax = "if (P0.new) dealloc_return:nt ; memw(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -23920,21 +23921,21 @@ static const HexInsnTemplate templates_duplex_0xa[] = { .encoding = { .mask = 0xf000f000, .op = 0xb0001000 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREB_IO_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'T', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23942,21 +23943,21 @@ static const HexInsnTemplate templates_duplex_0xa[] = { .encoding = { .mask = 0xf000f000, .op = 0xa0001000 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREW_IO_SS1_STOREB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'T', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = ; memb(+) = ", .il_ops = { - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -23964,21 +23965,21 @@ static const HexInsnTemplate templates_duplex_0xa[] = { .encoding = { .mask = 0xf000f000, .op = 0xa0000000 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREW_IO_SS1_STOREW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .imm_scale = 2, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'T', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 8 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = ; memw(+) = ", .il_ops = { - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -23990,19 +23991,19 @@ static const HexInsnTemplate templates_duplex_0xb[] = { .encoding = { .mask = 0xf000fe0f, .op = 0xb0003c00 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREB_IO_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24010,19 +24011,19 @@ static const HexInsnTemplate templates_duplex_0xb[] = { .encoding = { .mask = 0xf000fe0f, .op = 0xa0003c00 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREW_IO_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24030,20 +24031,20 @@ static const HexInsnTemplate templates_duplex_0xb[] = { .encoding = { .mask = 0xf000ff00, .op = 0xb0003200 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREB_IO_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24051,20 +24052,20 @@ static const HexInsnTemplate templates_duplex_0xb[] = { .encoding = { .mask = 0xf000ff00, .op = 0xa0003200 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREW_IO_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24072,20 +24073,20 @@ static const HexInsnTemplate templates_duplex_0xb[] = { .encoding = { .mask = 0xf000ff00, .op = 0xb0003300 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREB_IO_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24093,20 +24094,20 @@ static const HexInsnTemplate templates_duplex_0xb[] = { .encoding = { .mask = 0xf000ff00, .op = 0xa0003300 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREW_IO_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24114,20 +24115,20 @@ static const HexInsnTemplate templates_duplex_0xb[] = { .encoding = { .mask = 0xf000fe00, .op = 0xb0002a00 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREB_IO_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'T', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24135,20 +24136,20 @@ static const HexInsnTemplate templates_duplex_0xb[] = { .encoding = { .mask = 0xf000fe00, .op = 0xa0002a00 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREW_IO_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'T', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24156,21 +24157,21 @@ static const HexInsnTemplate templates_duplex_0xb[] = { .encoding = { .mask = 0xf000f800, .op = 0xb0002000 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREB_IO_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'T', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24178,21 +24179,21 @@ static const HexInsnTemplate templates_duplex_0xb[] = { .encoding = { .mask = 0xf000f800, .op = 0xa0002000 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREW_IO_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'T', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24200,20 +24201,20 @@ static const HexInsnTemplate templates_duplex_0xb[] = { .encoding = { .mask = 0xf000fe00, .op = 0xb0002800 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREB_IO_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'T', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24221,20 +24222,20 @@ static const HexInsnTemplate templates_duplex_0xb[] = { .encoding = { .mask = 0xf000fe00, .op = 0xa0002800 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREW_IO_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'T', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24242,20 +24243,20 @@ static const HexInsnTemplate templates_duplex_0xb[] = { .encoding = { .mask = 0xf000ff00, .op = 0xb0003000 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREB_IO_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24263,20 +24264,20 @@ static const HexInsnTemplate templates_duplex_0xb[] = { .encoding = { .mask = 0xf000ff00, .op = 0xa0003000 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREW_IO_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24284,20 +24285,20 @@ static const HexInsnTemplate templates_duplex_0xb[] = { .encoding = { .mask = 0xf000ff00, .op = 0xb0003100 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREB_IO_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storeb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24305,20 +24306,20 @@ static const HexInsnTemplate templates_duplex_0xb[] = { .encoding = { .mask = 0xf000ff00, .op = 0xa0003100 }, .id = HEX_INS_X2_AUTOJOIN_SS1_STOREW_IO_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss1_storew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -24330,19 +24331,19 @@ static const HexInsnTemplate templates_duplex_0xc[] = { .encoding = { .mask = 0xf000fe0f, .op = 0xc0001c00 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24350,19 +24351,19 @@ static const HexInsnTemplate templates_duplex_0xc[] = { .encoding = { .mask = 0xf000fe0f, .op = 0xd0001c00 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24370,20 +24371,20 @@ static const HexInsnTemplate templates_duplex_0xc[] = { .encoding = { .mask = 0xf000ff00, .op = 0xc0001200 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24391,20 +24392,20 @@ static const HexInsnTemplate templates_duplex_0xc[] = { .encoding = { .mask = 0xf000ff00, .op = 0xd0001200 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24412,20 +24413,20 @@ static const HexInsnTemplate templates_duplex_0xc[] = { .encoding = { .mask = 0xf000ff00, .op = 0xc0001300 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24433,20 +24434,20 @@ static const HexInsnTemplate templates_duplex_0xc[] = { .encoding = { .mask = 0xf000ff00, .op = 0xd0001300 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24454,20 +24455,20 @@ static const HexInsnTemplate templates_duplex_0xc[] = { .encoding = { .mask = 0xf000fe00, .op = 0xc0000a00 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24475,20 +24476,20 @@ static const HexInsnTemplate templates_duplex_0xc[] = { .encoding = { .mask = 0xf000fe00, .op = 0xd0000a00 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24496,21 +24497,21 @@ static const HexInsnTemplate templates_duplex_0xc[] = { .encoding = { .mask = 0xf000f800, .op = 0xc0000000 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24518,21 +24519,21 @@ static const HexInsnTemplate templates_duplex_0xc[] = { .encoding = { .mask = 0xf000f800, .op = 0xd0000000 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24540,20 +24541,20 @@ static const HexInsnTemplate templates_duplex_0xc[] = { .encoding = { .mask = 0xf000fe00, .op = 0xc0000800 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24561,20 +24562,20 @@ static const HexInsnTemplate templates_duplex_0xc[] = { .encoding = { .mask = 0xf000fe00, .op = 0xd0000800 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24582,20 +24583,20 @@ static const HexInsnTemplate templates_duplex_0xc[] = { .encoding = { .mask = 0xf000ff00, .op = 0xc0001000 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24603,20 +24604,20 @@ static const HexInsnTemplate templates_duplex_0xc[] = { .encoding = { .mask = 0xf000ff00, .op = 0xd0001000 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24624,20 +24625,20 @@ static const HexInsnTemplate templates_duplex_0xc[] = { .encoding = { .mask = 0xf000ff00, .op = 0xc0001100 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRI_IO_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24645,20 +24646,20 @@ static const HexInsnTemplate templates_duplex_0xc[] = { .encoding = { .mask = 0xf000ff00, .op = 0xd0001100 }, .id = HEX_INS_X2_AUTOJOIN_SL1_LOADRUB_IO_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 24 } }, .isa_id = 'U', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl1_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -24670,16 +24671,16 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe0f, .op = 0xdf003c00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_DEALLOCFRAME_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "deallocframe ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24687,19 +24688,19 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800fe0f, .op = 0xd0003c00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(+) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24707,18 +24708,18 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xff00fe0f, .op = 0xde003c00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .isa_id = 'U', .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(R29+) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24726,19 +24727,19 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800fe0f, .op = 0xc0003c00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24746,18 +24747,18 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfe00fe0f, .op = 0xdc003c00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(R29+) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24765,19 +24766,19 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800fe0f, .op = 0xc8003c00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+) ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24785,16 +24786,16 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe0f, .op = 0xdf403c00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = "dealloc_return ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24802,7 +24803,7 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe0f, .op = 0xdf453c00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_F_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 37 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -24810,9 +24811,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (!P0) dealloc_return ; allocframe()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24820,7 +24821,7 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe0f, .op = 0xdf473c00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_FNEW_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 44 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 44 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -24828,9 +24829,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (!P0.new) dealloc_return:nt ; allocframe()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24838,7 +24839,7 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe0f, .op = 0xdf443c00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_T_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 36 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -24846,9 +24847,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (P0) dealloc_return ; allocframe()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24856,7 +24857,7 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe0f, .op = 0xdf463c00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_TNEW_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 43 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 43 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -24864,9 +24865,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (P0.new) dealloc_return:nt ; allocframe()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24874,17 +24875,17 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf003200 }, .id = HEX_INS_X2_AUTOJOIN_SL2_DEALLOCFRAME_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "deallocframe ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24892,20 +24893,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800ff00, .op = 0xd0003200 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(+) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24913,19 +24914,19 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xff00ff00, .op = 0xde003200 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .isa_id = 'U', .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(R29+) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24933,20 +24934,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800ff00, .op = 0xc0003200 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24954,19 +24955,19 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfe00ff00, .op = 0xdc003200 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(R29+) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24974,20 +24975,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800ff00, .op = 0xc8003200 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+) ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -24995,17 +24996,17 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf403200 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = "dealloc_return ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25013,8 +25014,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf453200 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_F_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 32 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -25022,9 +25023,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (!P0) dealloc_return ; memb(+) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25032,8 +25033,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf473200 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_FNEW_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 38 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 39 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 39 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -25041,9 +25042,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (!P0.new) dealloc_return:nt ; memb(+) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25051,8 +25052,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf443200 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_T_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 31 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -25060,9 +25061,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (P0) dealloc_return ; memb(+) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25070,8 +25071,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf463200 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_TNEW_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 37 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 38 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -25079,9 +25080,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (P0.new) dealloc_return:nt ; memb(+) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25089,17 +25090,17 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf003300 }, .id = HEX_INS_X2_AUTOJOIN_SL2_DEALLOCFRAME_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "deallocframe ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25107,20 +25108,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800ff00, .op = 0xd0003300 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(+) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25128,19 +25129,19 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xff00ff00, .op = 0xde003300 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .isa_id = 'U', .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(R29+) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25148,20 +25149,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800ff00, .op = 0xc0003300 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25169,19 +25170,19 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfe00ff00, .op = 0xdc003300 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(R29+) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25189,20 +25190,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800ff00, .op = 0xc8003300 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+) ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25210,17 +25211,17 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf403300 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = "dealloc_return ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25228,8 +25229,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf453300 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_F_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 32 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -25237,9 +25238,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (!P0) dealloc_return ; memb(+) = #1", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25247,8 +25248,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf473300 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_FNEW_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 38 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 39 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 39 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -25256,9 +25257,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (!P0.new) dealloc_return:nt ; memb(+) = #1", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25266,8 +25267,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf443300 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_T_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 31 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -25275,9 +25276,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (P0) dealloc_return ; memb(+) = #1", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25285,8 +25286,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf463300 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_TNEW_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 37 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 38 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -25294,9 +25295,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (P0.new) dealloc_return:nt ; memb(+) = #1", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25304,17 +25305,17 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe00, .op = 0xdf002a00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_DEALLOCFRAME_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "deallocframe ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25322,20 +25323,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800fe00, .op = 0xd0002a00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(+) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25343,19 +25344,19 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xff00fe00, .op = 0xde002a00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .isa_id = 'U', .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(R29+) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25363,20 +25364,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800fe00, .op = 0xc0002a00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25384,19 +25385,19 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfe00fe00, .op = 0xdc002a00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(R29+) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25404,20 +25405,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800fe00, .op = 0xc8002a00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+) ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25425,17 +25426,17 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe00, .op = 0xdf402a00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = "dealloc_return ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25443,8 +25444,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe00, .op = 0xdf452a00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_F_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 35 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 39 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 39 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -25452,9 +25453,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (!P0) dealloc_return ; memd(R29+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25462,8 +25463,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe00, .op = 0xdf472a00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_FNEW_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 42 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 46 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 42 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 46 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -25471,9 +25472,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (!P0.new) dealloc_return:nt ; memd(R29+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25481,8 +25482,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe00, .op = 0xdf442a00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_T_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 34 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 34 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 38 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -25490,9 +25491,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (P0) dealloc_return ; memd(R29+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25500,8 +25501,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe00, .op = 0xdf462a00 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_TNEW_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 41 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 45 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 41 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 45 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -25509,9 +25510,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (P0.new) dealloc_return:nt ; memd(R29+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25519,18 +25520,18 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffff800, .op = 0xdf002000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_DEALLOCFRAME_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "deallocframe ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25538,21 +25539,21 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800f800, .op = 0xd0002000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(+) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25560,20 +25561,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xff00f800, .op = 0xde002000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .isa_id = 'U', .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(R29+) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25581,21 +25582,21 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800f800, .op = 0xc0002000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25603,20 +25604,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfe00f800, .op = 0xdc002000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(R29+) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25624,21 +25625,21 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800f800, .op = 0xc8002000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+) ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25646,18 +25647,18 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffff800, .op = 0xdf402000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = "dealloc_return ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25665,9 +25666,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffff800, .op = 0xdf452000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_F_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 32 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 36 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -25675,9 +25676,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (!P0) dealloc_return ; memh(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25685,9 +25686,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffff800, .op = 0xdf472000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_FNEW_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 38 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 39 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 43 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 39 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 43 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -25695,9 +25696,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (!P0.new) dealloc_return:nt ; memh(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25705,9 +25706,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffff800, .op = 0xdf442000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_T_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 31 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 35 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -25715,9 +25716,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (P0) dealloc_return ; memh(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25725,9 +25726,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffff800, .op = 0xdf462000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_TNEW_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 37 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 38 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 42 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 42 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -25735,9 +25736,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (P0.new) dealloc_return:nt ; memh(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25745,17 +25746,17 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe00, .op = 0xdf002800 }, .id = HEX_INS_X2_AUTOJOIN_SL2_DEALLOCFRAME_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 28 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "deallocframe ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25763,20 +25764,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800fe00, .op = 0xd0002800 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(+) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25784,19 +25785,19 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xff00fe00, .op = 0xde002800 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .isa_id = 'U', .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(R29+) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25804,20 +25805,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800fe00, .op = 0xc0002800 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25825,19 +25826,19 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfe00fe00, .op = 0xdc002800 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(R29+) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25845,20 +25846,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800fe00, .op = 0xc8002800 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+) ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25866,17 +25867,17 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe00, .op = 0xdf402800 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 26 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 30 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = "dealloc_return ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25884,8 +25885,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe00, .op = 0xdf452800 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_F_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 35 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 39 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 39 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -25893,9 +25894,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (!P0) dealloc_return ; memw(R29+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25903,8 +25904,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe00, .op = 0xdf472800 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_FNEW_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 42 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 46 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 42 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 46 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -25912,9 +25913,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (!P0.new) dealloc_return:nt ; memw(R29+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25922,8 +25923,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe00, .op = 0xdf442800 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_T_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 34 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 34 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 38 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -25931,9 +25932,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (P0) dealloc_return ; memw(R29+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25941,8 +25942,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfffffe00, .op = 0xdf462800 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_TNEW_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 41 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 45 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 41 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 45 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -25950,9 +25951,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (P0.new) dealloc_return:nt ; memw(R29+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25960,17 +25961,17 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf003000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_DEALLOCFRAME_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "deallocframe ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25978,20 +25979,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800ff00, .op = 0xd0003000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(+) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -25999,19 +26000,19 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xff00ff00, .op = 0xde003000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .isa_id = 'U', .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(R29+) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26019,20 +26020,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800ff00, .op = 0xc0003000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26040,19 +26041,19 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfe00ff00, .op = 0xdc003000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(R29+) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26060,20 +26061,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800ff00, .op = 0xc8003000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+) ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26081,17 +26082,17 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf403000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = "dealloc_return ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26099,8 +26100,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf453000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_F_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 32 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -26108,9 +26109,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (!P0) dealloc_return ; memw(+) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26118,8 +26119,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf473000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_FNEW_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 38 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 39 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 39 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -26127,9 +26128,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (!P0.new) dealloc_return:nt ; memw(+) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26137,8 +26138,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf443000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_T_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 31 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -26146,9 +26147,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (P0) dealloc_return ; memw(+) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26156,8 +26157,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf463000 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_TNEW_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 37 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 38 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -26165,9 +26166,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (P0.new) dealloc_return:nt ; memw(+) = #0", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26175,17 +26176,17 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf003100 }, .id = HEX_INS_X2_AUTOJOIN_SL2_DEALLOCFRAME_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "deallocframe ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26193,20 +26194,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800ff00, .op = 0xd0003100 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRB_IO_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(+) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26214,19 +26215,19 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xff00ff00, .op = 0xde003100 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRD_SP_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .imm_scale = 3, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 19 } }, .isa_id = 'U', .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(R29+) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrd_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26234,20 +26235,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800ff00, .op = 0xc0003100 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRH_IO_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26255,19 +26256,19 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xfe00ff00, .op = 0xdc003100 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRI_SP_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(R29+) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadri_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26275,20 +26276,20 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xf800ff00, .op = 0xc8003100 }, .id = HEX_INS_X2_AUTOJOIN_SL2_LOADRUH_IO_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+) ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26296,17 +26297,17 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf403100 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = "dealloc_return ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26314,8 +26315,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf453100 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_F_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 31 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 32 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 32 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -26323,9 +26324,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (!P0) dealloc_return ; memw(+) = #1", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26333,8 +26334,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf473100 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_FNEW_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 38 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 39 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 39 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -26342,9 +26343,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (!P0.new) dealloc_return:nt ; memw(+) = #1", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_fnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26352,8 +26353,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf443100 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_T_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 30 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 31 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 31 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -26361,9 +26362,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (P0) dealloc_return ; memw(+) = #1", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26371,8 +26372,8 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .encoding = { .mask = 0xffffff00, .op = 0xdf463100 }, .id = HEX_INS_X2_AUTOJOIN_SL2_RETURN_TNEW_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 37 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 38 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -26380,9 +26381,9 @@ static const HexInsnTemplate templates_duplex_0xd[] = { .syntax = "if (P0.new) dealloc_return:nt ; memw(+) = #1", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_sl2_return_tnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -26394,18 +26395,18 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xff00fe0f, .op = 0xf2001c00 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREBI0_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = #0 ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26413,18 +26414,18 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xff00fe0f, .op = 0xf3001c00 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREBI1_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = #1 ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26432,18 +26433,18 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xfe00fe0f, .op = 0xea001c00 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STORED_SP_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 19 } }, .imm_scale = 3, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 19 } }, .isa_id = 'S', .imm_scale = 3, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd(R29+) = ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26451,19 +26452,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xf800fe0f, .op = 0xe0001c00 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREH_IO_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 24 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) = ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26471,18 +26472,18 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xfe00fe0f, .op = 0xe8001c00 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREW_SP_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 27 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(R29+) = ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26490,18 +26491,18 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xff00fe0f, .op = 0xf0001c00 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREWI0_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = #0 ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26509,18 +26510,18 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xff00fe0f, .op = 0xf1001c00 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREWI1_SS2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 3, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = #1 ; allocframe()", .il_ops = { - { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26528,19 +26529,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xff00ff00, .op = 0xf2001200 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREBI0_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = #0 ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26548,19 +26549,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xfe00ff00, .op = 0xea001200 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STORED_SP_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 19 } }, .imm_scale = 3, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 19 } }, .isa_id = 'S', .imm_scale = 3, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd(R29+) = ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26568,20 +26569,20 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xf800ff00, .op = 0xe0001200 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREH_IO_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) = ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26589,19 +26590,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xfe00ff00, .op = 0xe8001200 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREW_SP_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(R29+) = ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26609,19 +26610,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xff00ff00, .op = 0xf0001200 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREWI0_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = #0 ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26629,19 +26630,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xff00ff00, .op = 0xf1001200 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREWI1_SS2_STOREBI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = #1 ; memb(+) = #0", .il_ops = { - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26649,19 +26650,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xff00ff00, .op = 0xf2001300 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREBI0_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = #0 ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storebi0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26669,19 +26670,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xff00ff00, .op = 0xf3001300 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREBI1_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = #1 ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26689,19 +26690,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xfe00ff00, .op = 0xea001300 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STORED_SP_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 19 } }, .imm_scale = 3, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 19 } }, .isa_id = 'S', .imm_scale = 3, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd(R29+) = ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26709,20 +26710,20 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xf800ff00, .op = 0xe0001300 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREH_IO_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) = ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26730,19 +26731,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xfe00ff00, .op = 0xe8001300 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREW_SP_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(R29+) = ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26750,19 +26751,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xff00ff00, .op = 0xf0001300 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREWI0_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = #0 ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26770,19 +26771,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xff00ff00, .op = 0xf1001300 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREWI1_SS2_STOREBI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = #1 ; memb(+) = #1", .il_ops = { - { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storebi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26790,19 +26791,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xfe00fe00, .op = 0xea000a00 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STORED_SP_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 19 } }, .imm_scale = 3, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 19 } }, .isa_id = 'S', .imm_scale = 3, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 'T', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd(R29+) = ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26810,20 +26811,20 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xf800fe00, .op = 0xe0000a00 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREH_IO_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'T', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) = ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26831,19 +26832,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xfe00fe00, .op = 0xe8000a00 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREW_SP_SS2_STORED_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .imm_scale = 3, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'T', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(R29+) = ; memd(R29+) = ", .il_ops = { - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26851,21 +26852,21 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xf800f800, .op = 0xe0000000 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREH_IO_SS2_STOREH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .imm_scale = 1, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'T', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 8 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) = ; memh(+) = ", .il_ops = { - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26873,20 +26874,20 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xf800fe00, .op = 0xe0000800 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREH_IO_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'T', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 26 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) = ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26894,19 +26895,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xfe00fe00, .op = 0xe8000800 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREW_SP_SS2_STOREW_SP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .imm_scale = 2, .syntax = 25 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'T', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 4 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 0 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 29 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(R29+) = ; memw(R29+) = ", .il_ops = { - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26914,19 +26915,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xfe00ff00, .op = 0xea001000 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STORED_SP_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 19 } }, .imm_scale = 3, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 19 } }, .isa_id = 'S', .imm_scale = 3, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd(R29+) = ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26934,20 +26935,20 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xf800ff00, .op = 0xe0001000 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREH_IO_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) = ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26955,19 +26956,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xfe00ff00, .op = 0xe8001000 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREW_SP_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(R29+) = ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26975,19 +26976,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xff00ff00, .op = 0xf0001000 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREWI0_SS2_STOREWI0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = #0 ; memw(+) = #0", .il_ops = { - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -26995,19 +26996,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xfe00ff00, .op = 0xea001100 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STORED_SP_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 19 } }, .imm_scale = 3, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 19 } }, .isa_id = 'S', .imm_scale = 3, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_DOUBLE_LOW8_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd(R29+) = ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_stored_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27015,20 +27016,20 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xf800ff00, .op = 0xe0001100 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREH_IO_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 24 } }, .isa_id = 'U', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) = ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storeh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27036,19 +27037,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xfe00ff00, .op = 0xe8001100 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREW_SP_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .imm_scale = 2, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 20 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(R29+) = ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storew_sp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27056,19 +27057,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xff00ff00, .op = 0xf0001100 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREWI0_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = #0 ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storewi0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27076,19 +27077,19 @@ static const HexInsnTemplate templates_duplex_0xe[] = { .encoding = { .mask = 0xff00ff00, .op = 0xf1001100 }, .id = HEX_INS_X2_AUTOJOIN_SS2_STOREWI1_SS2_STOREWI1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 20 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'S', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 16 } }, .isa_id = 'U', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 4 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x4, 0 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = #1 ; memw(+) = #1", .il_ops = { - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { hex_il_op_ss2_storewi1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -27118,7 +27119,7 @@ static const HexInsnTemplate templates_normal_0x0[] = { .encoding = { .mask = 0xf0000000, .op = 0x0 }, .id = HEX_INS_A4_EXT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0xe, 0 }, { 0xc, 16 } }, .imm_scale = 6, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0xe, 0 }, { 0xc, 16 } }, .isa_id = 'u', .imm_scale = 6, .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -27126,8 +27127,8 @@ static const HexInsnTemplate templates_normal_0x0[] = { .syntax = "immext()", .il_ops = { { hex_il_op_a4_ext, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27139,9 +27140,9 @@ static const HexInsnTemplate templates_normal_0x0[] = { .type = RZ_ANALYSIS_OP_TYPE_ILL, .syntax = "", .il_ops = { - { hex_il_op_invalid_decode, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_invalid_decode, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -27153,9 +27154,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x14400000 }, .id = HEX_INS_J4_CMPEQ_FP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27163,9 +27164,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.eq(,); if (!P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeq_fp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeq_fp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27173,9 +27174,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x14402000 }, .id = HEX_INS_J4_CMPEQ_FP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27183,9 +27184,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.eq(,); if (!P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeq_fp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeq_fp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27193,9 +27194,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x14401000 }, .id = HEX_INS_J4_CMPEQ_FP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27203,9 +27204,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.eq(,); if (!P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeq_fp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeq_fp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27213,9 +27214,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x14403000 }, .id = HEX_INS_J4_CMPEQ_FP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27223,9 +27224,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.eq(,); if (!P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeq_fp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeq_fp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27233,9 +27234,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x14000000 }, .id = HEX_INS_J4_CMPEQ_TP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27243,9 +27244,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.eq(,); if (P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeq_tp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeq_tp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27253,9 +27254,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x14002000 }, .id = HEX_INS_J4_CMPEQ_TP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 35 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27263,9 +27264,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.eq(,); if (P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeq_tp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeq_tp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27273,9 +27274,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x14001000 }, .id = HEX_INS_J4_CMPEQ_TP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27283,9 +27284,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.eq(,); if (P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeq_tp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeq_tp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27293,9 +27294,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x14003000 }, .id = HEX_INS_J4_CMPEQ_TP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 35 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27303,9 +27304,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.eq(,); if (P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeq_tp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeq_tp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27313,9 +27314,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x10400000 }, .id = HEX_INS_J4_CMPEQI_FP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27323,9 +27324,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.eq(,); if (!P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqi_fp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqi_fp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27333,9 +27334,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x10402000 }, .id = HEX_INS_J4_CMPEQI_FP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27343,9 +27344,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.eq(,); if (!P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqi_fp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqi_fp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27353,9 +27354,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x12400000 }, .id = HEX_INS_J4_CMPEQI_FP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27363,9 +27364,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.eq(,); if (!P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqi_fp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqi_fp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27373,9 +27374,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x12402000 }, .id = HEX_INS_J4_CMPEQI_FP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27383,9 +27384,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.eq(,); if (!P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqi_fp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqi_fp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27393,9 +27394,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x10000000 }, .id = HEX_INS_J4_CMPEQI_TP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27403,9 +27404,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.eq(,); if (P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqi_tp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqi_tp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27413,9 +27414,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x10002000 }, .id = HEX_INS_J4_CMPEQI_TP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 35 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27423,9 +27424,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.eq(,); if (P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqi_tp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqi_tp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27433,9 +27434,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x12000000 }, .id = HEX_INS_J4_CMPEQI_TP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27443,9 +27444,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.eq(,); if (P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqi_tp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqi_tp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27453,9 +27454,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x12002000 }, .id = HEX_INS_J4_CMPEQI_TP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 35 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27463,9 +27464,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.eq(,); if (P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqi_tp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqi_tp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27473,9 +27474,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x11c00000 }, .id = HEX_INS_J4_CMPEQN1_FP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27483,9 +27484,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.eq(,); if (!P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqn1_fp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqn1_fp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27493,9 +27494,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x11c02000 }, .id = HEX_INS_J4_CMPEQN1_FP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27503,9 +27504,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.eq(,); if (!P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqn1_fp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqn1_fp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27513,9 +27514,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x13c00000 }, .id = HEX_INS_J4_CMPEQN1_FP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27523,9 +27524,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.eq(,); if (!P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqn1_fp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqn1_fp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27533,9 +27534,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x13c02000 }, .id = HEX_INS_J4_CMPEQN1_FP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27543,9 +27544,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.eq(,); if (!P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqn1_fp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqn1_fp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27553,9 +27554,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x11800000 }, .id = HEX_INS_J4_CMPEQN1_TP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27563,9 +27564,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.eq(,); if (P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqn1_tp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqn1_tp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27573,9 +27574,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x11802000 }, .id = HEX_INS_J4_CMPEQN1_TP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 35 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27583,9 +27584,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.eq(,); if (P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqn1_tp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqn1_tp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27593,9 +27594,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x13800000 }, .id = HEX_INS_J4_CMPEQN1_TP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27603,9 +27604,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.eq(,); if (P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqn1_tp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqn1_tp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27613,9 +27614,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x13802000 }, .id = HEX_INS_J4_CMPEQN1_TP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 35 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27623,9 +27624,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.eq(,); if (P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqn1_tp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqn1_tp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27633,9 +27634,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x14c00000 }, .id = HEX_INS_J4_CMPGT_FP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27643,9 +27644,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gt(,); if (!P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgt_fp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgt_fp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27653,9 +27654,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x14c02000 }, .id = HEX_INS_J4_CMPGT_FP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27663,9 +27664,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gt(,); if (!P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgt_fp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgt_fp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27673,9 +27674,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x14c01000 }, .id = HEX_INS_J4_CMPGT_FP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27683,9 +27684,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gt(,); if (!P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgt_fp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgt_fp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27693,9 +27694,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x14c03000 }, .id = HEX_INS_J4_CMPGT_FP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27703,9 +27704,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gt(,); if (!P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgt_fp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgt_fp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27713,9 +27714,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x14800000 }, .id = HEX_INS_J4_CMPGT_TP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27723,9 +27724,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gt(,); if (P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgt_tp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgt_tp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27733,9 +27734,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x14802000 }, .id = HEX_INS_J4_CMPGT_TP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 35 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27743,9 +27744,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gt(,); if (P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgt_tp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgt_tp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27753,9 +27754,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x14801000 }, .id = HEX_INS_J4_CMPGT_TP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27763,9 +27764,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gt(,); if (P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgt_tp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgt_tp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27773,9 +27774,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x14803000 }, .id = HEX_INS_J4_CMPGT_TP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 35 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27783,9 +27784,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gt(,); if (P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgt_tp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgt_tp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27793,9 +27794,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x10c00000 }, .id = HEX_INS_J4_CMPGTI_FP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27803,9 +27804,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gt(,); if (!P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgti_fp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgti_fp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27813,9 +27814,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x10c02000 }, .id = HEX_INS_J4_CMPGTI_FP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27823,9 +27824,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gt(,); if (!P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgti_fp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgti_fp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27833,9 +27834,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x12c00000 }, .id = HEX_INS_J4_CMPGTI_FP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27843,9 +27844,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gt(,); if (!P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgti_fp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgti_fp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27853,9 +27854,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x12c02000 }, .id = HEX_INS_J4_CMPGTI_FP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27863,9 +27864,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gt(,); if (!P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgti_fp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgti_fp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27873,9 +27874,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x10800000 }, .id = HEX_INS_J4_CMPGTI_TP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27883,9 +27884,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gt(,); if (P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgti_tp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgti_tp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27893,9 +27894,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x10802000 }, .id = HEX_INS_J4_CMPGTI_TP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 35 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27903,9 +27904,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gt(,); if (P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgti_tp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgti_tp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27913,9 +27914,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x12800000 }, .id = HEX_INS_J4_CMPGTI_TP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27923,9 +27924,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gt(,); if (P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgti_tp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgti_tp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27933,9 +27934,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x12802000 }, .id = HEX_INS_J4_CMPGTI_TP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 35 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -27943,9 +27944,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gt(,); if (P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgti_tp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgti_tp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27953,9 +27954,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x11c00100 }, .id = HEX_INS_J4_CMPGTN1_FP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27963,9 +27964,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gt(,); if (!P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtn1_fp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtn1_fp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27973,9 +27974,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x11c02100 }, .id = HEX_INS_J4_CMPGTN1_FP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -27983,9 +27984,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gt(,); if (!P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtn1_fp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtn1_fp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -27993,9 +27994,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x13c00100 }, .id = HEX_INS_J4_CMPGTN1_FP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -28003,9 +28004,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gt(,); if (!P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtn1_fp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtn1_fp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28013,9 +28014,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x13c02100 }, .id = HEX_INS_J4_CMPGTN1_FP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -28023,9 +28024,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gt(,); if (!P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtn1_fp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtn1_fp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28033,9 +28034,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x11800100 }, .id = HEX_INS_J4_CMPGTN1_TP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -28043,9 +28044,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gt(,); if (P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtn1_tp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtn1_tp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28053,9 +28054,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x11802100 }, .id = HEX_INS_J4_CMPGTN1_TP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 35 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -28063,9 +28064,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gt(,); if (P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtn1_tp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtn1_tp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28073,9 +28074,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x13800100 }, .id = HEX_INS_J4_CMPGTN1_TP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -28083,9 +28084,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gt(,); if (P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtn1_tp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtn1_tp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28093,9 +28094,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x13802100 }, .id = HEX_INS_J4_CMPGTN1_TP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 35 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 35 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -28103,9 +28104,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gt(,); if (P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtn1_tp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtn1_tp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28113,9 +28114,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x15400000 }, .id = HEX_INS_J4_CMPGTU_FP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 38 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -28123,9 +28124,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gtu(,); if (!P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtu_fp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtu_fp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28133,9 +28134,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x15402000 }, .id = HEX_INS_J4_CMPGTU_FP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -28143,9 +28144,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gtu(,); if (!P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtu_fp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtu_fp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28153,9 +28154,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x15401000 }, .id = HEX_INS_J4_CMPGTU_FP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 38 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -28163,9 +28164,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gtu(,); if (!P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtu_fp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtu_fp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28173,9 +28174,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x15403000 }, .id = HEX_INS_J4_CMPGTU_FP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -28183,9 +28184,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gtu(,); if (!P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtu_fp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtu_fp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28193,9 +28194,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x15000000 }, .id = HEX_INS_J4_CMPGTU_TP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -28203,9 +28204,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gtu(,); if (P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtu_tp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtu_tp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28213,9 +28214,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x15002000 }, .id = HEX_INS_J4_CMPGTU_TP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -28223,9 +28224,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gtu(,); if (P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtu_tp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtu_tp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28233,9 +28234,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x15001000 }, .id = HEX_INS_J4_CMPGTU_TP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -28243,9 +28244,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gtu(,); if (P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtu_tp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtu_tp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28253,9 +28254,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x15003000 }, .id = HEX_INS_J4_CMPGTU_TP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 't', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -28263,9 +28264,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gtu(,); if (P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtu_tp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtu_tp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28273,9 +28274,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x11400000 }, .id = HEX_INS_J4_CMPGTUI_FP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 38 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -28283,9 +28284,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gtu(,); if (!P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtui_fp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtui_fp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28293,9 +28294,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x11402000 }, .id = HEX_INS_J4_CMPGTUI_FP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -28303,9 +28304,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gtu(,); if (!P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtui_fp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtui_fp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28313,9 +28314,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x13400000 }, .id = HEX_INS_J4_CMPGTUI_FP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 38 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -28323,9 +28324,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gtu(,); if (!P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtui_fp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtui_fp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28333,9 +28334,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x13402000 }, .id = HEX_INS_J4_CMPGTUI_FP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -28343,9 +28344,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gtu(,); if (!P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtui_fp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtui_fp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28353,9 +28354,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x11000000 }, .id = HEX_INS_J4_CMPGTUI_TP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -28363,9 +28364,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gtu(,); if (P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtui_tp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtui_tp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28373,9 +28374,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x11002000 }, .id = HEX_INS_J4_CMPGTUI_TP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -28383,9 +28384,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = cmp.gtu(,); if (P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtui_tp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtui_tp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28393,9 +28394,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x13000000 }, .id = HEX_INS_J4_CMPGTUI_TP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -28403,9 +28404,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gtu(,); if (P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtui_tp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtui_tp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28413,9 +28414,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc02001, .op = 0x13002000 }, .id = HEX_INS_J4_CMPGTUI_TP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 36 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 36 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -28423,9 +28424,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = cmp.gtu(,); if (P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtui_tp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtui_tp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28433,9 +28434,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc00001, .op = 0x16000000 }, .id = HEX_INS_J4_JUMPSETI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 8 } }, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 8 } }, .isa_id = 'U', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -28443,9 +28444,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = " = ; jump ", .flags = HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_jumpseti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_jumpseti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28453,9 +28454,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03001, .op = 0x17000000 }, .id = HEX_INS_J4_JUMPSETR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x4, 8 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -28463,9 +28464,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = " = ; jump ", .flags = HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_jumpsetr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_jumpsetr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28473,8 +28474,8 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x11c00300 }, .id = HEX_INS_J4_TSTBIT0_FP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 39 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 39 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -28482,9 +28483,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = tstbit(,#0); if (!P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_tstbit0_fp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_tstbit0_fp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28492,8 +28493,8 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x11c02300 }, .id = HEX_INS_J4_TSTBIT0_FP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 38 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -28501,9 +28502,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = tstbit(,#0); if (!P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_tstbit0_fp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_tstbit0_fp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28511,8 +28512,8 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x13c00300 }, .id = HEX_INS_J4_TSTBIT0_FP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 39 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 39 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -28520,9 +28521,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = tstbit(,#0); if (!P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_tstbit0_fp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_tstbit0_fp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28530,8 +28531,8 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x13c02300 }, .id = HEX_INS_J4_TSTBIT0_FP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 38 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -28539,9 +28540,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = tstbit(,#0); if (!P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_tstbit0_fp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_tstbit0_fp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28549,8 +28550,8 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x11800300 }, .id = HEX_INS_J4_TSTBIT0_TP0_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 38 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -28558,9 +28559,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = tstbit(,#0); if (P0.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_tstbit0_tp0_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_tstbit0_tp0_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28568,8 +28569,8 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x11802300 }, .id = HEX_INS_J4_TSTBIT0_TP0_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -28577,9 +28578,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P0 = tstbit(,#0); if (P0.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_tstbit0_tp0_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_tstbit0_tp0_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28587,8 +28588,8 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x13800300 }, .id = HEX_INS_J4_TSTBIT0_TP1_JUMP_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 38 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 38 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -28596,9 +28597,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = tstbit(,#0); if (P1.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_tstbit0_tp1_jump_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_tstbit0_tp1_jump_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28606,8 +28607,8 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffc03f01, .op = 0x13802300 }, .id = HEX_INS_J4_TSTBIT0_TP1_JUMP_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 37 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x4, 16 } }, .reg_cls = HEX_REG_CLASS_GENERAL_SUB_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 37 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -28615,9 +28616,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "P1 = tstbit(,#0); if (P1.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_tstbit0_tp1_jump_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_tstbit0_tp1_jump_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28625,17 +28626,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x19c00040 }, .id = HEX_INS_V6_LVSPLATB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vsplat()", .il_ops = { - { hex_il_op_v6_lvsplatb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_lvsplatb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28643,17 +28644,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x19c00020 }, .id = HEX_INS_V6_LVSPLATH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vsplat()", .il_ops = { - { hex_il_op_v6_lvsplath, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_lvsplath, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28661,17 +28662,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x19a00020 }, .id = HEX_INS_V6_LVSPLATW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsplat()", .il_ops = { - { hex_il_op_v6_lvsplatw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_lvsplatw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28679,18 +28680,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f3cfc, .op = 0x1e030000 }, .id = HEX_INS_V6_PRED_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,)", .il_ops = { - { hex_il_op_v6_pred_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_pred_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28698,18 +28699,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f3cfc, .op = 0x1e030014 }, .id = HEX_INS_V6_PRED_AND_N, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,!)", .il_ops = { - { hex_il_op_v6_pred_and_n, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_pred_and_n, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28717,17 +28718,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff3cfc, .op = 0x1e030008 }, .id = HEX_INS_V6_PRED_NOT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = not()", .il_ops = { - { hex_il_op_v6_pred_not, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_pred_not, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28735,18 +28736,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f3cfc, .op = 0x1e030004 }, .id = HEX_INS_V6_PRED_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 't', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = or(,)", .il_ops = { - { hex_il_op_v6_pred_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_pred_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28754,18 +28755,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f3cfc, .op = 0x1e030010 }, .id = HEX_INS_V6_PRED_OR_N, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = or(,!)", .il_ops = { - { hex_il_op_v6_pred_or_n, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_pred_or_n, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28773,17 +28774,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe03ffc, .op = 0x19a00044 }, .id = HEX_INS_V6_PRED_SCALAR2, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsetq()", .il_ops = { - { hex_il_op_v6_pred_scalar2, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_pred_scalar2, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28791,17 +28792,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe03ffc, .op = 0x19a0004c }, .id = HEX_INS_V6_PRED_SCALAR2V2, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsetq2()", .il_ops = { - { hex_il_op_v6_pred_scalar2v2, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_pred_scalar2v2, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28809,18 +28810,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f3cfc, .op = 0x1e03000c }, .id = HEX_INS_V6_PRED_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = xor(,)", .il_ops = { - { hex_il_op_v6_pred_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_pred_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28828,18 +28829,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f3cfc, .op = 0x1e030018 }, .id = HEX_INS_V6_SHUFFEQH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vshuffe(.h,.h)", .il_ops = { - { hex_il_op_v6_shuffeqh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_shuffeqh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28847,18 +28848,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f3cfc, .op = 0x1e03001c }, .id = HEX_INS_V6_SHUFFEQW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vshuffe(.w,.w)", .il_ops = { - { hex_il_op_v6_shuffeqw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_shuffeqw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28866,19 +28867,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02080, .op = 0x1f402080 }, .id = HEX_INS_V6_V6MPYHUBS10, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = V6mpy(.ub,.b,):h", .il_ops = { - { hex_il_op_v6_v6mpyhubs10, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_v6mpyhubs10, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28886,19 +28887,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02080, .op = 0x1f202080 }, .id = HEX_INS_V6_V6MPYHUBS10_VXX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += V6mpy(.ub,.b,):h", .il_ops = { - { hex_il_op_v6_v6mpyhubs10_vxx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_v6mpyhubs10_vxx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28906,19 +28907,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02080, .op = 0x1f402000 }, .id = HEX_INS_V6_V6MPYVUBS10, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = V6mpy(.ub,.b,):v", .il_ops = { - { hex_il_op_v6_v6mpyvubs10, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_v6mpyvubs10, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28926,19 +28927,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02080, .op = 0x1f202000 }, .id = HEX_INS_V6_V6MPYVUBS10_VXX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x2, 5 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += V6mpy(.ub,.b,):v", .il_ops = { - { hex_il_op_v6_v6mpyvubs10_vxx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_v6mpyvubs10_vxx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28946,17 +28947,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e062080 }, .id = HEX_INS_V6_VABS_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf = vabs(.hf)", .il_ops = { - { hex_il_op_v6_vabs_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vabs_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28964,17 +28965,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e0620a0 }, .id = HEX_INS_V6_VABS_SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf = vabs(.sf)", .il_ops = { - { hex_il_op_v6_vabs_sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vabs_sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -28982,17 +28983,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e010080 }, .id = HEX_INS_V6_VABSB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vabs(.b)", .il_ops = { - { hex_il_op_v6_vabsb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vabsb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29000,17 +29001,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e0100a0 }, .id = HEX_INS_V6_VABSB_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vabs(.b):sat", .il_ops = { - { hex_il_op_v6_vabsb_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vabsb_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29018,18 +29019,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1cc00020 }, .id = HEX_INS_V6_VABSDIFFH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vabsdiff(.h,.h)", .il_ops = { - { hex_il_op_v6_vabsdiffh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vabsdiffh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29037,18 +29038,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1cc00000 }, .id = HEX_INS_V6_VABSDIFFUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vabsdiff(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vabsdiffub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vabsdiffub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29056,18 +29057,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1cc00040 }, .id = HEX_INS_V6_VABSDIFFUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vabsdiff(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vabsdiffuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vabsdiffuh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29075,18 +29076,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1cc00060 }, .id = HEX_INS_V6_VABSDIFFW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vabsdiff(.w,.w)", .il_ops = { - { hex_il_op_v6_vabsdiffw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vabsdiffw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29094,17 +29095,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e000000 }, .id = HEX_INS_V6_VABSH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vabs(.h)", .il_ops = { - { hex_il_op_v6_vabsh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vabsh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29112,17 +29113,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e000020 }, .id = HEX_INS_V6_VABSH_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vabs(.h):sat", .il_ops = { - { hex_il_op_v6_vabsh_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vabsh_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29130,17 +29131,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e000040 }, .id = HEX_INS_V6_VABSW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vabs(.w)", .il_ops = { - { hex_il_op_v6_vabsw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vabsw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29148,17 +29149,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e000060 }, .id = HEX_INS_V6_VABSW_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vabs(.w):sat", .il_ops = { - { hex_il_op_v6_vabsw_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vabsw_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29166,18 +29167,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f602060 }, .id = HEX_INS_V6_VADD_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf16 = vadd(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vadd_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vadd_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29185,18 +29186,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fa020e0 }, .id = HEX_INS_V6_VADD_HF_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf = vadd(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vadd_hf_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vadd_hf_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29204,18 +29205,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f602040 }, .id = HEX_INS_V6_VADD_QF16, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf16 = vadd(.qf16,.qf16)", .il_ops = { - { hex_il_op_v6_vadd_qf16, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vadd_qf16, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29223,18 +29224,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f602080 }, .id = HEX_INS_V6_VADD_QF16_MIX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf16 = vadd(.qf16,.hf)", .il_ops = { - { hex_il_op_v6_vadd_qf16_mix, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vadd_qf16_mix, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29242,18 +29243,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fa02000 }, .id = HEX_INS_V6_VADD_QF32, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf32 = vadd(.qf32,.qf32)", .il_ops = { - { hex_il_op_v6_vadd_qf32, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vadd_qf32, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29261,18 +29262,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fa02040 }, .id = HEX_INS_V6_VADD_QF32_MIX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf32 = vadd(.qf32,.sf)", .il_ops = { - { hex_il_op_v6_vadd_qf32_mix, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vadd_qf32_mix, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29280,18 +29281,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fa02020 }, .id = HEX_INS_V6_VADD_SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf32 = vadd(.sf,.sf)", .il_ops = { - { hex_il_op_v6_vadd_sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vadd_sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29299,18 +29300,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f802080 }, .id = HEX_INS_V6_VADD_SF_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf = vadd(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vadd_sf_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vadd_sf_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29318,18 +29319,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f8020c0 }, .id = HEX_INS_V6_VADD_SF_SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf = vadd(.sf,.sf)", .il_ops = { - { hex_il_op_v6_vadd_sf_sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vadd_sf_sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29337,18 +29338,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fa000c0 }, .id = HEX_INS_V6_VADDB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vadd(.b,.b)", .il_ops = { - { hex_il_op_v6_vaddb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29356,18 +29357,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c600080 }, .id = HEX_INS_V6_VADDB_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vadd(.b,.b)", .il_ops = { - { hex_il_op_v6_vaddb_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddb_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29375,18 +29376,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f20e0, .op = 0x1e012060 }, .id = HEX_INS_V6_VADDBNQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if (!) .b += .b", .il_ops = { - { hex_il_op_v6_vaddbnq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddbnq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29394,18 +29395,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f20e0, .op = 0x1e012000 }, .id = HEX_INS_V6_VADDBQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () .b += .b", .il_ops = { - { hex_il_op_v6_vaddbq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddbq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29413,18 +29414,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f000000 }, .id = HEX_INS_V6_VADDBSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vadd(.b,.b):sat", .il_ops = { - { hex_il_op_v6_vaddbsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddbsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29432,18 +29433,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ea00000 }, .id = HEX_INS_V6_VADDBSAT_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vadd(.b,.b):sat", .il_ops = { - { hex_il_op_v6_vaddbsat_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddbsat_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29451,19 +29452,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02080, .op = 0x1ca02000 }, .id = HEX_INS_V6_VADDCARRY, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vadd(.w,.w,):carry", .il_ops = { - { hex_il_op_v6_vaddcarry, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddcarry, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29471,19 +29472,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02080, .op = 0x1da02000 }, .id = HEX_INS_V6_VADDCARRYO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'e', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w, = vadd(.w,.w):carry", .il_ops = { - { hex_il_op_v6_vaddcarryo, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddcarryo, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29491,19 +29492,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02080, .op = 0x1d802000 }, .id = HEX_INS_V6_VADDCARRYSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vadd(.w,.w,):carry:sat", .il_ops = { - { hex_il_op_v6_vaddcarrysat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddcarrysat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29511,18 +29512,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f002000 }, .id = HEX_INS_V6_VADDCLBH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vadd(vclb(.h),.h)", .il_ops = { - { hex_il_op_v6_vaddclbh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddclbh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29530,18 +29531,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f002020 }, .id = HEX_INS_V6_VADDCLBW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vadd(vclb(.w),.w)", .il_ops = { - { hex_il_op_v6_vaddclbw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddclbw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29549,18 +29550,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fa000e0 }, .id = HEX_INS_V6_VADDH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vadd(.h,.h)", .il_ops = { - { hex_il_op_v6_vaddh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29568,18 +29569,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c6000a0 }, .id = HEX_INS_V6_VADDH_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vadd(.h,.h)", .il_ops = { - { hex_il_op_v6_vaddh_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddh_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29587,18 +29588,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f20e0, .op = 0x1e012080 }, .id = HEX_INS_V6_VADDHNQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if (!) .h += .h", .il_ops = { - { hex_il_op_v6_vaddhnq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddhnq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29606,18 +29607,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f20e0, .op = 0x1e012020 }, .id = HEX_INS_V6_VADDHQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () .h += .h", .il_ops = { - { hex_il_op_v6_vaddhq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddhq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29625,18 +29626,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c400060 }, .id = HEX_INS_V6_VADDHSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vadd(.h,.h):sat", .il_ops = { - { hex_il_op_v6_vaddhsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddhsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29644,18 +29645,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c800020 }, .id = HEX_INS_V6_VADDHSAT_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vadd(.h,.h):sat", .il_ops = { - { hex_il_op_v6_vaddhsat_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddhsat_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29663,18 +29664,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ca00080 }, .id = HEX_INS_V6_VADDHW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vadd(.h,.h)", .il_ops = { - { hex_il_op_v6_vaddhw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddhw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29682,18 +29683,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c202040 }, .id = HEX_INS_V6_VADDHW_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vadd(.h,.h)", .il_ops = { - { hex_il_op_v6_vaddhw_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddhw_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29701,18 +29702,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ca00040 }, .id = HEX_INS_V6_VADDUBH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vadd(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vaddubh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddubh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29720,18 +29721,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c4020a0 }, .id = HEX_INS_V6_VADDUBH_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h += vadd(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vaddubh_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddubh_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29739,18 +29740,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c400020 }, .id = HEX_INS_V6_VADDUBSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vadd(.ub,.ub):sat", .il_ops = { - { hex_il_op_v6_vaddubsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddubsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29758,18 +29759,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c6000e0 }, .id = HEX_INS_V6_VADDUBSAT_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vadd(.ub,.ub):sat", .il_ops = { - { hex_il_op_v6_vaddubsat_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddubsat_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29777,18 +29778,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ea00080 }, .id = HEX_INS_V6_VADDUBUBB_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vadd(.ub,.b):sat", .il_ops = { - { hex_il_op_v6_vaddububb_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddububb_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29796,18 +29797,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c400040 }, .id = HEX_INS_V6_VADDUHSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vadd(.uh,.uh):sat", .il_ops = { - { hex_il_op_v6_vadduhsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vadduhsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29815,18 +29816,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c800000 }, .id = HEX_INS_V6_VADDUHSAT_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vadd(.uh,.uh):sat", .il_ops = { - { hex_il_op_v6_vadduhsat_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vadduhsat_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29834,18 +29835,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ca00060 }, .id = HEX_INS_V6_VADDUHW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vadd(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vadduhw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vadduhw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29853,18 +29854,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c402080 }, .id = HEX_INS_V6_VADDUHW_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vadd(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vadduhw_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vadduhw_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29872,18 +29873,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f600020 }, .id = HEX_INS_V6_VADDUWSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vadd(.uw,.uw):sat", .il_ops = { - { hex_il_op_v6_vadduwsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vadduwsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29891,18 +29892,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ea00040 }, .id = HEX_INS_V6_VADDUWSAT_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vadd(.uw,.uw):sat", .il_ops = { - { hex_il_op_v6_vadduwsat_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vadduwsat_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29910,18 +29911,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c400000 }, .id = HEX_INS_V6_VADDW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vadd(.w,.w)", .il_ops = { - { hex_il_op_v6_vaddw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29929,18 +29930,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c6000c0 }, .id = HEX_INS_V6_VADDW_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vadd(.w,.w)", .il_ops = { - { hex_il_op_v6_vaddw_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddw_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29948,18 +29949,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f20e0, .op = 0x1e0120a0 }, .id = HEX_INS_V6_VADDWNQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if (!) .w += .w", .il_ops = { - { hex_il_op_v6_vaddwnq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddwnq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29967,18 +29968,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f20e0, .op = 0x1e012040 }, .id = HEX_INS_V6_VADDWQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () .w += .w", .il_ops = { - { hex_il_op_v6_vaddwq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddwq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -29986,18 +29987,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c400080 }, .id = HEX_INS_V6_VADDWSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vadd(.w,.w):sat", .il_ops = { - { hex_il_op_v6_vaddwsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddwsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30005,18 +30006,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c800040 }, .id = HEX_INS_V6_VADDWSAT_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vadd(.w,.w):sat", .il_ops = { - { hex_il_op_v6_vaddwsat_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaddwsat_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30024,19 +30025,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x1b000000 }, .id = HEX_INS_V6_VALIGNB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = valign(,,)", .il_ops = { - { hex_il_op_v6_valignb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_valignb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30044,19 +30045,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02000, .op = 0x1e202000 }, .id = HEX_INS_V6_VALIGNBI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = valign(,,)", .il_ops = { - { hex_il_op_v6_valignbi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_valignbi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30064,18 +30065,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c2000a0 }, .id = HEX_INS_V6_VAND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vand(,)", .il_ops = { - { hex_il_op_v6_vand, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vand, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30083,18 +30084,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x19a004a0 }, .id = HEX_INS_V6_VANDNQRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'u', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vand(!,)", .il_ops = { - { hex_il_op_v6_vandnqrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vandnqrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30102,18 +30103,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x19602460 }, .id = HEX_INS_V6_VANDNQRT_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= vand(!,)", .il_ops = { - { hex_il_op_v6_vandnqrt_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vandnqrt_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30121,18 +30122,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x19a000a0 }, .id = HEX_INS_V6_VANDQRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vand(,)", .il_ops = { - { hex_il_op_v6_vandqrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vandqrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30140,18 +30141,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x19602060 }, .id = HEX_INS_V6_VANDQRT_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'u', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= vand(,)", .il_ops = { - { hex_il_op_v6_vandqrt_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vandqrt_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30159,18 +30160,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f20e0, .op = 0x1e032020 }, .id = HEX_INS_V6_VANDVNQV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vand(!,)", .il_ops = { - { hex_il_op_v6_vandvnqv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vandvnqv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30178,18 +30179,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f20e0, .op = 0x1e032000 }, .id = HEX_INS_V6_VANDVQV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vand(,)", .il_ops = { - { hex_il_op_v6_vandvqv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vandvqv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30197,18 +30198,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x19a00048 }, .id = HEX_INS_V6_VANDVRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vand(,)", .il_ops = { - { hex_il_op_v6_vandvrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vandvrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30216,18 +30217,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x19602080 }, .id = HEX_INS_V6_VANDVRT_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= vand(,)", .il_ops = { - { hex_il_op_v6_vandvrt_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vandvrt_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30235,18 +30236,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19800000 }, .id = HEX_INS_V6_VASLH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vasl(.h,)", .il_ops = { - { hex_il_op_v6_vaslh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaslh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30254,18 +30255,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19a020a0 }, .id = HEX_INS_V6_VASLH_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h += vasl(.h,)", .il_ops = { - { hex_il_op_v6_vaslh_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaslh_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30273,18 +30274,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fa000a0 }, .id = HEX_INS_V6_VASLHV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vasl(.h,.h)", .il_ops = { - { hex_il_op_v6_vaslhv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaslhv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30292,18 +30293,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x196000e0 }, .id = HEX_INS_V6_VASLW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vasl(.w,)", .il_ops = { - { hex_il_op_v6_vaslw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaslw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30311,18 +30312,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19602040 }, .id = HEX_INS_V6_VASLW_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vasl(.w,)", .il_ops = { - { hex_il_op_v6_vaslw_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaslw_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30330,18 +30331,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fa00080 }, .id = HEX_INS_V6_VASLWV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vasl(.w,.w)", .il_ops = { - { hex_il_op_v6_vaslwv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vaslwv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30349,18 +30350,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1aa020e0 }, .id = HEX_INS_V6_VASR_INTO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vasrinto(.w,.w)", .il_ops = { - { hex_il_op_v6_vasr_into, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasr_into, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30368,18 +30369,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x196000c0 }, .id = HEX_INS_V6_VASRH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vasr(.h,)", .il_ops = { - { hex_il_op_v6_vasrh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30387,18 +30388,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x198020e0 }, .id = HEX_INS_V6_VASRH_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h += vasr(.h,)", .il_ops = { - { hex_il_op_v6_vasrh_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrh_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30406,19 +30407,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x1b002000 }, .id = HEX_INS_V6_VASRHBRNDSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vasr(.h,.h,):rnd:sat", .il_ops = { - { hex_il_op_v6_vasrhbrndsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrhbrndsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30426,19 +30427,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x18000000 }, .id = HEX_INS_V6_VASRHBSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vasr(.h,.h,):sat", .il_ops = { - { hex_il_op_v6_vasrhbsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrhbsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30446,19 +30447,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x1b0000e0 }, .id = HEX_INS_V6_VASRHUBRNDSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vasr(.h,.h,):rnd:sat", .il_ops = { - { hex_il_op_v6_vasrhubrndsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrhubrndsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30466,19 +30467,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x1b0000c0 }, .id = HEX_INS_V6_VASRHUBSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vasr(.h,.h,):sat", .il_ops = { - { hex_il_op_v6_vasrhubsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrhubsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30486,18 +30487,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fa00060 }, .id = HEX_INS_V6_VASRHV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vasr(.h,.h)", .il_ops = { - { hex_il_op_v6_vasrhv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrhv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30505,19 +30506,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x180000e0 }, .id = HEX_INS_V6_VASRUHUBRNDSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vasr(.uh,.uh,):rnd:sat", .il_ops = { - { hex_il_op_v6_vasruhubrndsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasruhubrndsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30525,19 +30526,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x180020a0 }, .id = HEX_INS_V6_VASRUHUBSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vasr(.uh,.uh,):sat", .il_ops = { - { hex_il_op_v6_vasruhubsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasruhubsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30545,19 +30546,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x18000020 }, .id = HEX_INS_V6_VASRUWUHRNDSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vasr(.uw,.uw,):rnd:sat", .il_ops = { - { hex_il_op_v6_vasruwuhrndsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasruwuhrndsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30565,19 +30566,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x18002080 }, .id = HEX_INS_V6_VASRUWUHSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vasr(.uw,.uw,):sat", .il_ops = { - { hex_il_op_v6_vasruwuhsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasruwuhsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30585,18 +30586,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1d000060 }, .id = HEX_INS_V6_VASRVUHUBRNDSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vasr(.uh,.ub):rnd:sat", .il_ops = { - { hex_il_op_v6_vasrvuhubrndsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrvuhubrndsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30604,18 +30605,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1d000040 }, .id = HEX_INS_V6_VASRVUHUBSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vasr(.uh,.ub):sat", .il_ops = { - { hex_il_op_v6_vasrvuhubsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrvuhubsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30623,18 +30624,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1d000020 }, .id = HEX_INS_V6_VASRVWUHRNDSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vasr(.w,.uh):rnd:sat", .il_ops = { - { hex_il_op_v6_vasrvwuhrndsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrvwuhrndsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30642,18 +30643,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1d000000 }, .id = HEX_INS_V6_VASRVWUHSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vasr(.w,.uh):sat", .il_ops = { - { hex_il_op_v6_vasrvwuhsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrvwuhsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30661,18 +30662,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x196000a0 }, .id = HEX_INS_V6_VASRW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vasr(.w,)", .il_ops = { - { hex_il_op_v6_vasrw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30680,18 +30681,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x196020a0 }, .id = HEX_INS_V6_VASRW_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vasr(.w,)", .il_ops = { - { hex_il_op_v6_vasrw_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrw_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30699,19 +30700,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x1b000040 }, .id = HEX_INS_V6_VASRWH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vasr(.w,.w,)", .il_ops = { - { hex_il_op_v6_vasrwh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrwh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30719,19 +30720,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x1b000080 }, .id = HEX_INS_V6_VASRWHRNDSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vasr(.w,.w,):rnd:sat", .il_ops = { - { hex_il_op_v6_vasrwhrndsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrwhrndsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30739,19 +30740,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x1b000060 }, .id = HEX_INS_V6_VASRWHSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vasr(.w,.w,):sat", .il_ops = { - { hex_il_op_v6_vasrwhsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrwhsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30759,19 +30760,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x18000040 }, .id = HEX_INS_V6_VASRWUHRNDSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vasr(.w,.w,):rnd:sat", .il_ops = { - { hex_il_op_v6_vasrwuhrndsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrwuhrndsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30779,19 +30780,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x1b0000a0 }, .id = HEX_INS_V6_VASRWUHSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vasr(.w,.w,):sat", .il_ops = { - { hex_il_op_v6_vasrwuhsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrwuhsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30799,18 +30800,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fa00000 }, .id = HEX_INS_V6_VASRWV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vasr(.w,.w)", .il_ops = { - { hex_il_op_v6_vasrwv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vasrwv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30818,17 +30819,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e0320e0 }, .id = HEX_INS_V6_VASSIGN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ", .il_ops = { - { hex_il_op_v6_vassign, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vassign, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30836,17 +30837,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e062020 }, .id = HEX_INS_V6_VASSIGN_FP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vfmv(.w)", .il_ops = { - { hex_il_op_v6_vassign_fp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vassign_fp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30854,17 +30855,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e0100c0 }, .id = HEX_INS_V6_VASSIGN_TMP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".tmp = ", .il_ops = { - { hex_il_op_v6_vassign_tmp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vassign_tmp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30872,18 +30873,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f002080 }, .id = HEX_INS_V6_VAVGB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vavg(.b,.b)", .il_ops = { - { hex_il_op_v6_vavgb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vavgb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30891,18 +30892,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f0020a0 }, .id = HEX_INS_V6_VAVGBRND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vavg(.b,.b):rnd", .il_ops = { - { hex_il_op_v6_vavgbrnd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vavgbrnd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30910,18 +30911,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1cc000c0 }, .id = HEX_INS_V6_VAVGH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vavg(.h,.h)", .il_ops = { - { hex_il_op_v6_vavgh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vavgh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30929,18 +30930,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ce000a0 }, .id = HEX_INS_V6_VAVGHRND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vavg(.h,.h):rnd", .il_ops = { - { hex_il_op_v6_vavghrnd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vavghrnd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30948,18 +30949,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1cc00080 }, .id = HEX_INS_V6_VAVGUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vavg(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vavgub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vavgub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30967,18 +30968,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ce00060 }, .id = HEX_INS_V6_VAVGUBRND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vavg(.ub,.ub):rnd", .il_ops = { - { hex_il_op_v6_vavgubrnd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vavgubrnd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -30986,18 +30987,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1cc000a0 }, .id = HEX_INS_V6_VAVGUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vavg(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vavguh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vavguh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31005,18 +31006,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ce00080 }, .id = HEX_INS_V6_VAVGUHRND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vavg(.uh,.uh):rnd", .il_ops = { - { hex_il_op_v6_vavguhrnd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vavguhrnd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31024,18 +31025,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f002040 }, .id = HEX_INS_V6_VAVGUW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vavg(.uw,.uw)", .il_ops = { - { hex_il_op_v6_vavguw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vavguw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31043,18 +31044,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f002060 }, .id = HEX_INS_V6_VAVGUWRND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vavg(.uw,.uw):rnd", .il_ops = { - { hex_il_op_v6_vavguwrnd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vavguwrnd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31062,18 +31063,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1cc000e0 }, .id = HEX_INS_V6_VAVGW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vavg(.w,.w)", .il_ops = { - { hex_il_op_v6_vavgw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vavgw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31081,18 +31082,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ce000c0 }, .id = HEX_INS_V6_VAVGWRND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vavg(.w,.w):rnd", .il_ops = { - { hex_il_op_v6_vavgwrnd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vavgwrnd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31100,10 +31101,10 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02080, .op = 0x1a600000 }, .id = HEX_INS_V6_VCCOMBINE, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -31111,9 +31112,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "if () = vcombine(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vccombine, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vccombine, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31121,17 +31122,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e0200e0 }, .id = HEX_INS_V6_VCL0H, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vcl0(.uh)", .il_ops = { - { hex_il_op_v6_vcl0h, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vcl0h, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31139,17 +31140,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e0200a0 }, .id = HEX_INS_V6_VCL0W, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vcl0(.uw)", .il_ops = { - { hex_il_op_v6_vcl0w, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vcl0w, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31157,9 +31158,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff2080, .op = 0x1a000000 }, .id = HEX_INS_V6_VCMOV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -31167,9 +31168,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "if () = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vcmov, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vcmov, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31177,18 +31178,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f4000e0 }, .id = HEX_INS_V6_VCOMBINE, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcombine(,)", .il_ops = { - { hex_il_op_v6_vcombine, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vcombine, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31196,18 +31197,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ea000e0 }, .id = HEX_INS_V6_VCOMBINE_TMP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".tmp = vcombine(,)", .il_ops = { - { hex_il_op_v6_vcombine_tmp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vcombine_tmp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31215,17 +31216,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e042060 }, .id = HEX_INS_V6_VCONV_HF_QF16, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 6 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf = .qf16", .il_ops = { - { hex_il_op_v6_vconv_hf_qf16, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vconv_hf_qf16, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31233,17 +31234,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e0420c0 }, .id = HEX_INS_V6_VCONV_HF_QF32, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 6 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf = .qf32", .il_ops = { - { hex_il_op_v6_vconv_hf_qf32, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vconv_hf_qf32, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31251,17 +31252,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e042000 }, .id = HEX_INS_V6_VCONV_SF_QF32, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 6 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf = .qf32", .il_ops = { - { hex_il_op_v6_vconv_sf_qf32, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vconv_sf_qf32, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31269,18 +31270,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fc020c0 }, .id = HEX_INS_V6_VCVT_B_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vcvt(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vcvt_b_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vcvt_b_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31288,17 +31289,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e062000 }, .id = HEX_INS_V6_VCVT_H_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vcvt(.hf)", .il_ops = { - { hex_il_op_v6_vcvt_h_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vcvt_h_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31306,17 +31307,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e042040 }, .id = HEX_INS_V6_VCVT_HF_B, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf = vcvt(.b)", .il_ops = { - { hex_il_op_v6_vcvt_hf_b, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vcvt_hf_b, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31324,17 +31325,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e0420e0 }, .id = HEX_INS_V6_VCVT_HF_H, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf = vcvt(.h)", .il_ops = { - { hex_il_op_v6_vcvt_hf_h, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vcvt_hf_h, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31342,18 +31343,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f602020 }, .id = HEX_INS_V6_VCVT_HF_SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf = vcvt(.sf,.sf)", .il_ops = { - { hex_il_op_v6_vcvt_hf_sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vcvt_hf_sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31361,17 +31362,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e042020 }, .id = HEX_INS_V6_VCVT_HF_UB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf = vcvt(.ub)", .il_ops = { - { hex_il_op_v6_vcvt_hf_ub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vcvt_hf_ub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31379,17 +31380,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e0420a0 }, .id = HEX_INS_V6_VCVT_HF_UH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf = vcvt(.uh)", .il_ops = { - { hex_il_op_v6_vcvt_hf_uh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vcvt_hf_uh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31397,17 +31398,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e042080 }, .id = HEX_INS_V6_VCVT_SF_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf = vcvt(.hf)", .il_ops = { - { hex_il_op_v6_vcvt_sf_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vcvt_sf_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31415,18 +31416,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fc020a0 }, .id = HEX_INS_V6_VCVT_UB_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vcvt(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vcvt_ub_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vcvt_ub_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31434,17 +31435,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e052000 }, .id = HEX_INS_V6_VCVT_UH_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vcvt(.hf)", .il_ops = { - { hex_il_op_v6_vcvt_uh_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vcvt_uh_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31452,18 +31453,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19e02040 }, .id = HEX_INS_V6_VDEAL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'y', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vdeal(,,)", .il_ops = { - { hex_il_op_v6_vdeal, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdeal, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31471,17 +31472,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e0000e0 }, .id = HEX_INS_V6_VDEALB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vdeal(.b)", .il_ops = { - { hex_il_op_v6_vdealb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdealb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31489,18 +31490,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f2000e0 }, .id = HEX_INS_V6_VDEALB4W, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vdeale(.b,.b)", .il_ops = { - { hex_il_op_v6_vdealb4w, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdealb4w, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31508,17 +31509,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e0000c0 }, .id = HEX_INS_V6_VDEALH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vdeal(.h)", .il_ops = { - { hex_il_op_v6_vdealh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdealh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31526,19 +31527,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x1b002080 }, .id = HEX_INS_V6_VDEALVDD, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vdeal(,,)", .il_ops = { - { hex_il_op_v6_vdealvdd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdealvdd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31546,18 +31547,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f200020 }, .id = HEX_INS_V6_VDELTA, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vdelta(,)", .il_ops = { - { hex_il_op_v6_vdelta, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdelta, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31565,18 +31566,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fa020c0 }, .id = HEX_INS_V6_VDMPY_SF_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf = vdmpy(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vdmpy_sf_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpy_sf_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31584,18 +31585,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c402060 }, .id = HEX_INS_V6_VDMPY_SF_HF_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf += vdmpy(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vdmpy_sf_hf_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpy_sf_hf_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31603,18 +31604,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x190000c0 }, .id = HEX_INS_V6_VDMPYBUS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vdmpy(.ub,.b)", .il_ops = { - { hex_il_op_v6_vdmpybus, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpybus, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31622,18 +31623,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x190020c0 }, .id = HEX_INS_V6_VDMPYBUS_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h += vdmpy(.ub,.b)", .il_ops = { - { hex_il_op_v6_vdmpybus_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpybus_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31641,18 +31642,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x190000e0 }, .id = HEX_INS_V6_VDMPYBUS_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vdmpy(.ub,.b)", .il_ops = { - { hex_il_op_v6_vdmpybus_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpybus_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31660,18 +31661,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x190020e0 }, .id = HEX_INS_V6_VDMPYBUS_DV_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h += vdmpy(.ub,.b)", .il_ops = { - { hex_il_op_v6_vdmpybus_dv_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpybus_dv_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31679,18 +31680,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19000040 }, .id = HEX_INS_V6_VDMPYHB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vdmpy(.h,.b)", .il_ops = { - { hex_il_op_v6_vdmpyhb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpyhb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31698,18 +31699,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19002060 }, .id = HEX_INS_V6_VDMPYHB_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vdmpy(.h,.b)", .il_ops = { - { hex_il_op_v6_vdmpyhb_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpyhb_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31717,18 +31718,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19200080 }, .id = HEX_INS_V6_VDMPYHB_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vdmpy(.h,.b)", .il_ops = { - { hex_il_op_v6_vdmpyhb_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpyhb_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31736,18 +31737,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19202080 }, .id = HEX_INS_V6_VDMPYHB_DV_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vdmpy(.h,.b)", .il_ops = { - { hex_il_op_v6_vdmpyhb_dv_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpyhb_dv_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31755,18 +31756,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19200060 }, .id = HEX_INS_V6_VDMPYHISAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vdmpy(.h,.h):sat", .il_ops = { - { hex_il_op_v6_vdmpyhisat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpyhisat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31774,18 +31775,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19202040 }, .id = HEX_INS_V6_VDMPYHISAT_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vdmpy(.h,.h):sat", .il_ops = { - { hex_il_op_v6_vdmpyhisat_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpyhisat_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31793,18 +31794,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19200040 }, .id = HEX_INS_V6_VDMPYHSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vdmpy(.h,.h):sat", .il_ops = { - { hex_il_op_v6_vdmpyhsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpyhsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31812,18 +31813,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19202060 }, .id = HEX_INS_V6_VDMPYHSAT_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vdmpy(.h,.h):sat", .il_ops = { - { hex_il_op_v6_vdmpyhsat_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpyhsat_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31831,18 +31832,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19200020 }, .id = HEX_INS_V6_VDMPYHSUISAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vdmpy(.h,.uh,#1):sat", .il_ops = { - { hex_il_op_v6_vdmpyhsuisat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpyhsuisat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31850,18 +31851,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19202020 }, .id = HEX_INS_V6_VDMPYHSUISAT_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vdmpy(.h,.uh,#1):sat", .il_ops = { - { hex_il_op_v6_vdmpyhsuisat_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpyhsuisat_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31869,18 +31870,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19200000 }, .id = HEX_INS_V6_VDMPYHSUSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vdmpy(.h,.uh):sat", .il_ops = { - { hex_il_op_v6_vdmpyhsusat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpyhsusat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31888,18 +31889,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19202000 }, .id = HEX_INS_V6_VDMPYHSUSAT_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vdmpy(.h,.uh):sat", .il_ops = { - { hex_il_op_v6_vdmpyhsusat_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpyhsusat_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31907,18 +31908,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c000060 }, .id = HEX_INS_V6_VDMPYHVSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vdmpy(.h,.h):sat", .il_ops = { - { hex_il_op_v6_vdmpyhvsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpyhvsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31926,18 +31927,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c002060 }, .id = HEX_INS_V6_VDMPYHVSAT_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vdmpy(.h,.h):sat", .il_ops = { - { hex_il_op_v6_vdmpyhvsat_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdmpyhvsat_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31945,18 +31946,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x190000a0 }, .id = HEX_INS_V6_VDSADUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vdsad(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vdsaduh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdsaduh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31964,18 +31965,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19602000 }, .id = HEX_INS_V6_VDSADUH_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw += vdsad(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vdsaduh_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vdsaduh_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -31983,18 +31984,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1f800000 }, .id = HEX_INS_V6_VEQB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmp.eq(.b,.b)", .il_ops = { - { hex_il_op_v6_veqb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_veqb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32002,18 +32003,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802000 }, .id = HEX_INS_V6_VEQB_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= vcmp.eq(.b,.b)", .il_ops = { - { hex_il_op_v6_veqb_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_veqb_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32021,18 +32022,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802040 }, .id = HEX_INS_V6_VEQB_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= vcmp.eq(.b,.b)", .il_ops = { - { hex_il_op_v6_veqb_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_veqb_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32040,18 +32041,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802080 }, .id = HEX_INS_V6_VEQB_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= vcmp.eq(.b,.b)", .il_ops = { - { hex_il_op_v6_veqb_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_veqb_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32059,18 +32060,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1f800004 }, .id = HEX_INS_V6_VEQH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmp.eq(.h,.h)", .il_ops = { - { hex_il_op_v6_veqh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_veqh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32078,18 +32079,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802004 }, .id = HEX_INS_V6_VEQH_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= vcmp.eq(.h,.h)", .il_ops = { - { hex_il_op_v6_veqh_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_veqh_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32097,18 +32098,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802044 }, .id = HEX_INS_V6_VEQH_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= vcmp.eq(.h,.h)", .il_ops = { - { hex_il_op_v6_veqh_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_veqh_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32116,18 +32117,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802084 }, .id = HEX_INS_V6_VEQH_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= vcmp.eq(.h,.h)", .il_ops = { - { hex_il_op_v6_veqh_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_veqh_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32135,18 +32136,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1f800008 }, .id = HEX_INS_V6_VEQW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmp.eq(.w,.w)", .il_ops = { - { hex_il_op_v6_veqw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_veqw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32154,18 +32155,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802008 }, .id = HEX_INS_V6_VEQW_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= vcmp.eq(.w,.w)", .il_ops = { - { hex_il_op_v6_veqw_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_veqw_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32173,18 +32174,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802048 }, .id = HEX_INS_V6_VEQW_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= vcmp.eq(.w,.w)", .il_ops = { - { hex_il_op_v6_veqw_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_veqw_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32192,18 +32193,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802088 }, .id = HEX_INS_V6_VEQW_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= vcmp.eq(.w,.w)", .il_ops = { - { hex_il_op_v6_veqw_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_veqw_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32211,18 +32212,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c602040 }, .id = HEX_INS_V6_VFMAX_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf = vfmax(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vfmax_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vfmax_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32230,18 +32231,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c602060 }, .id = HEX_INS_V6_VFMAX_SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf = vfmax(.sf,.sf)", .il_ops = { - { hex_il_op_v6_vfmax_sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vfmax_sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32249,18 +32250,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c602000 }, .id = HEX_INS_V6_VFMIN_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf = vfmin(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vfmin_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vfmin_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32268,18 +32269,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c602020 }, .id = HEX_INS_V6_VFMIN_SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf = vfmin(.sf,.sf)", .il_ops = { - { hex_il_op_v6_vfmin_sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vfmin_sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32287,17 +32288,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e062040 }, .id = HEX_INS_V6_VFNEG_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf = vfneg(.hf)", .il_ops = { - { hex_il_op_v6_vfneg_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vfneg_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32305,17 +32306,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e062060 }, .id = HEX_INS_V6_VFNEG_SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf = vfneg(.sf)", .il_ops = { - { hex_il_op_v6_vfneg_sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vfneg_sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32323,18 +32324,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1f800010 }, .id = HEX_INS_V6_VGTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmp.gt(.b,.b)", .il_ops = { - { hex_il_op_v6_vgtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32342,18 +32343,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802010 }, .id = HEX_INS_V6_VGTB_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= vcmp.gt(.b,.b)", .il_ops = { - { hex_il_op_v6_vgtb_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtb_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32361,18 +32362,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802050 }, .id = HEX_INS_V6_VGTB_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= vcmp.gt(.b,.b)", .il_ops = { - { hex_il_op_v6_vgtb_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtb_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32380,18 +32381,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802090 }, .id = HEX_INS_V6_VGTB_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= vcmp.gt(.b,.b)", .il_ops = { - { hex_il_op_v6_vgtb_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtb_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32399,18 +32400,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1f800014 }, .id = HEX_INS_V6_VGTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmp.gt(.h,.h)", .il_ops = { - { hex_il_op_v6_vgth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32418,18 +32419,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802014 }, .id = HEX_INS_V6_VGTH_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= vcmp.gt(.h,.h)", .il_ops = { - { hex_il_op_v6_vgth_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgth_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32437,18 +32438,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802054 }, .id = HEX_INS_V6_VGTH_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= vcmp.gt(.h,.h)", .il_ops = { - { hex_il_op_v6_vgth_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgth_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32456,18 +32457,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802094 }, .id = HEX_INS_V6_VGTH_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= vcmp.gt(.h,.h)", .il_ops = { - { hex_il_op_v6_vgth_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgth_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32475,18 +32476,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802074 }, .id = HEX_INS_V6_VGTHF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmp.gt(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vgthf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgthf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32494,18 +32495,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c8020cc }, .id = HEX_INS_V6_VGTHF_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= vcmp.gt(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vgthf_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgthf_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32513,18 +32514,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802034 }, .id = HEX_INS_V6_VGTHF_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= vcmp.gt(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vgthf_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgthf_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32532,18 +32533,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c8020ec }, .id = HEX_INS_V6_VGTHF_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= vcmp.gt(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vgthf_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgthf_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32551,18 +32552,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802070 }, .id = HEX_INS_V6_VGTSF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmp.gt(.sf,.sf)", .il_ops = { - { hex_il_op_v6_vgtsf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtsf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32570,18 +32571,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c8020c8 }, .id = HEX_INS_V6_VGTSF_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= vcmp.gt(.sf,.sf)", .il_ops = { - { hex_il_op_v6_vgtsf_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtsf_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32589,18 +32590,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802030 }, .id = HEX_INS_V6_VGTSF_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= vcmp.gt(.sf,.sf)", .il_ops = { - { hex_il_op_v6_vgtsf_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtsf_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32608,18 +32609,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c8020e8 }, .id = HEX_INS_V6_VGTSF_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= vcmp.gt(.sf,.sf)", .il_ops = { - { hex_il_op_v6_vgtsf_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtsf_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32627,18 +32628,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1f800020 }, .id = HEX_INS_V6_VGTUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmp.gt(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vgtub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32646,18 +32647,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802020 }, .id = HEX_INS_V6_VGTUB_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= vcmp.gt(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vgtub_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtub_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32665,18 +32666,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802060 }, .id = HEX_INS_V6_VGTUB_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= vcmp.gt(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vgtub_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtub_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32684,18 +32685,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c8020a0 }, .id = HEX_INS_V6_VGTUB_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= vcmp.gt(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vgtub_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtub_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32703,18 +32704,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1f800024 }, .id = HEX_INS_V6_VGTUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmp.gt(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vgtuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtuh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32722,18 +32723,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802024 }, .id = HEX_INS_V6_VGTUH_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= vcmp.gt(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vgtuh_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtuh_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32741,18 +32742,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802064 }, .id = HEX_INS_V6_VGTUH_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= vcmp.gt(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vgtuh_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtuh_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32760,18 +32761,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c8020a4 }, .id = HEX_INS_V6_VGTUH_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= vcmp.gt(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vgtuh_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtuh_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32779,18 +32780,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1f800028 }, .id = HEX_INS_V6_VGTUW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmp.gt(.uw,.uw)", .il_ops = { - { hex_il_op_v6_vgtuw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtuw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32798,18 +32799,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802028 }, .id = HEX_INS_V6_VGTUW_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= vcmp.gt(.uw,.uw)", .il_ops = { - { hex_il_op_v6_vgtuw_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtuw_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32817,18 +32818,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802068 }, .id = HEX_INS_V6_VGTUW_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= vcmp.gt(.uw,.uw)", .il_ops = { - { hex_il_op_v6_vgtuw_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtuw_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32836,18 +32837,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c8020a8 }, .id = HEX_INS_V6_VGTUW_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= vcmp.gt(.uw,.uw)", .il_ops = { - { hex_il_op_v6_vgtuw_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtuw_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32855,18 +32856,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1f800018 }, .id = HEX_INS_V6_VGTW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmp.gt(.w,.w)", .il_ops = { - { hex_il_op_v6_vgtw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32874,18 +32875,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802018 }, .id = HEX_INS_V6_VGTW_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= vcmp.gt(.w,.w)", .il_ops = { - { hex_il_op_v6_vgtw_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtw_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32893,18 +32894,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802058 }, .id = HEX_INS_V6_VGTW_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= vcmp.gt(.w,.w)", .il_ops = { - { hex_il_op_v6_vgtw_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtw_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32912,18 +32913,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020fc, .op = 0x1c802098 }, .id = HEX_INS_V6_VGTW_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= vcmp.gt(.w,.w)", .il_ops = { - { hex_il_op_v6_vgtw_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgtw_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32935,9 +32936,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vhist", .il_ops = { - { hex_il_op_v6_vhist, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vhist, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32945,16 +32946,16 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f3fff, .op = 0x1e022080 }, .id = HEX_INS_V6_VHISTQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 6 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vhist()", .il_ops = { - { hex_il_op_v6_vhistq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vhistq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32962,17 +32963,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x19a02020 }, .id = HEX_INS_V6_VINSERTWR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vinsert()", .il_ops = { - { hex_il_op_v6_vinsertwr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vinsertwr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -32980,19 +32981,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x1b000020 }, .id = HEX_INS_V6_VLALIGNB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vlalign(,,)", .il_ops = { - { hex_il_op_v6_vlalignb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlalignb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33000,19 +33001,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02000, .op = 0x1e602000 }, .id = HEX_INS_V6_VLALIGNBI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vlalign(,,)", .il_ops = { - { hex_il_op_v6_vlalignbi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlalignbi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33020,18 +33021,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19800060 }, .id = HEX_INS_V6_VLSRB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vlsr(.ub,)", .il_ops = { - { hex_il_op_v6_vlsrb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlsrb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33039,18 +33040,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19800040 }, .id = HEX_INS_V6_VLSRH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vlsr(.uh,)", .il_ops = { - { hex_il_op_v6_vlsrh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlsrh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33058,18 +33059,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fa00040 }, .id = HEX_INS_V6_VLSRHV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vlsr(.h,.h)", .il_ops = { - { hex_il_op_v6_vlsrhv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlsrhv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33077,18 +33078,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19800020 }, .id = HEX_INS_V6_VLSRW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vlsr(.uw,)", .il_ops = { - { hex_il_op_v6_vlsrw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlsrw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33096,18 +33097,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fa00020 }, .id = HEX_INS_V6_VLSRWV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vlsr(.w,.w)", .il_ops = { - { hex_il_op_v6_vlsrwv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlsrwv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33115,18 +33116,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19600080 }, .id = HEX_INS_V6_VLUT4, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vlut4(.uh,.h)", .il_ops = { - { hex_il_op_v6_vlut4, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlut4, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33134,19 +33135,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x1b002020 }, .id = HEX_INS_V6_VLUTVVB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vlut32(.b,.b,)", .il_ops = { - { hex_il_op_v6_vlutvvb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlutvvb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33154,19 +33155,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x18000060 }, .id = HEX_INS_V6_VLUTVVB_NM, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vlut32(.b,.b,):nomatch", .il_ops = { - { hex_il_op_v6_vlutvvb_nm, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlutvvb_nm, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33174,19 +33175,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x1b0020a0 }, .id = HEX_INS_V6_VLUTVVB_ORACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b |= vlut32(.b,.b,)", .il_ops = { - { hex_il_op_v6_vlutvvb_oracc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlutvvb_oracc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33194,19 +33195,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02000, .op = 0x1cc02000 }, .id = HEX_INS_V6_VLUTVVB_ORACCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b |= vlut32(.b,.b,)", .il_ops = { - { hex_il_op_v6_vlutvvb_oracci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlutvvb_oracci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33214,19 +33215,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02000, .op = 0x1e200000 }, .id = HEX_INS_V6_VLUTVVBI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vlut32(.b,.b,)", .il_ops = { - { hex_il_op_v6_vlutvvbi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlutvvbi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33234,19 +33235,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x1b0020c0 }, .id = HEX_INS_V6_VLUTVWH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vlut16(.b,.h,)", .il_ops = { - { hex_il_op_v6_vlutvwh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlutvwh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33254,19 +33255,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x18000080 }, .id = HEX_INS_V6_VLUTVWH_NM, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vlut16(.b,.h,):nomatch", .il_ops = { - { hex_il_op_v6_vlutvwh_nm, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlutvwh_nm, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33274,19 +33275,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x1b0020e0 }, .id = HEX_INS_V6_VLUTVWH_ORACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h |= vlut16(.b,.h,)", .il_ops = { - { hex_il_op_v6_vlutvwh_oracc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlutvwh_oracc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33294,19 +33295,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02000, .op = 0x1ce02000 }, .id = HEX_INS_V6_VLUTVWH_ORACCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h |= vlut16(.b,.h,)", .il_ops = { - { hex_il_op_v6_vlutvwh_oracci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlutvwh_oracci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33314,19 +33315,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02000, .op = 0x1e600000 }, .id = HEX_INS_V6_VLUTVWHI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vlut16(.b,.h,)", .il_ops = { - { hex_il_op_v6_vlutvwhi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vlutvwhi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33334,18 +33335,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fc02060 }, .id = HEX_INS_V6_VMAX_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf = vmax(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vmax_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmax_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33353,18 +33354,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fc02020 }, .id = HEX_INS_V6_VMAX_SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf = vmax(.sf,.sf)", .il_ops = { - { hex_il_op_v6_vmax_sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmax_sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33372,18 +33373,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f2000a0 }, .id = HEX_INS_V6_VMAXB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vmax(.b,.b)", .il_ops = { - { hex_il_op_v6_vmaxb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmaxb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33391,18 +33392,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f0000e0 }, .id = HEX_INS_V6_VMAXH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmax(.h,.h)", .il_ops = { - { hex_il_op_v6_vmaxh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmaxh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33410,18 +33411,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f0000a0 }, .id = HEX_INS_V6_VMAXUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vmax(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vmaxub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmaxub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33429,18 +33430,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f0000c0 }, .id = HEX_INS_V6_VMAXUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vmax(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vmaxuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmaxuh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33448,18 +33449,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f200000 }, .id = HEX_INS_V6_VMAXW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vmax(.w,.w)", .il_ops = { - { hex_il_op_v6_vmaxw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmaxw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33467,18 +33468,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fc02080 }, .id = HEX_INS_V6_VMIN_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf = vmin(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vmin_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmin_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33486,18 +33487,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fc02040 }, .id = HEX_INS_V6_VMIN_SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf = vmin(.sf,.sf)", .il_ops = { - { hex_il_op_v6_vmin_sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmin_sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33505,18 +33506,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f200080 }, .id = HEX_INS_V6_VMINB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vmin(.b,.b)", .il_ops = { - { hex_il_op_v6_vminb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vminb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33524,18 +33525,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f000060 }, .id = HEX_INS_V6_VMINH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmin(.h,.h)", .il_ops = { - { hex_il_op_v6_vminh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vminh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33543,18 +33544,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f000020 }, .id = HEX_INS_V6_VMINUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vmin(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vminub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vminub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33562,18 +33563,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f000040 }, .id = HEX_INS_V6_VMINUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vmin(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vminuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vminuh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33581,18 +33582,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f000080 }, .id = HEX_INS_V6_VMINW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vmin(.w,.w)", .il_ops = { - { hex_il_op_v6_vminw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vminw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33600,18 +33601,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x192000c0 }, .id = HEX_INS_V6_VMPABUS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmpa(.ub,.b)", .il_ops = { - { hex_il_op_v6_vmpabus, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpabus, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33619,18 +33620,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x192020c0 }, .id = HEX_INS_V6_VMPABUS_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h += vmpa(.ub,.b)", .il_ops = { - { hex_il_op_v6_vmpabus_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpabus_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33638,18 +33639,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c200060 }, .id = HEX_INS_V6_VMPABUSV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmpa(.ub,.b)", .il_ops = { - { hex_il_op_v6_vmpabusv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpabusv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33657,18 +33658,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19600060 }, .id = HEX_INS_V6_VMPABUU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmpa(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vmpabuu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpabuu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33676,18 +33677,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19a02080 }, .id = HEX_INS_V6_VMPABUU_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h += vmpa(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vmpabuu_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpabuu_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33695,18 +33696,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ce000e0 }, .id = HEX_INS_V6_VMPABUUV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmpa(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vmpabuuv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpabuuv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33714,18 +33715,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x192000e0 }, .id = HEX_INS_V6_VMPAHB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vmpa(.h,.b)", .il_ops = { - { hex_il_op_v6_vmpahb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpahb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33733,18 +33734,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x192020e0 }, .id = HEX_INS_V6_VMPAHB_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vmpa(.h,.b)", .il_ops = { - { hex_il_op_v6_vmpahb_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpahb_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33752,19 +33753,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19802080 }, .id = HEX_INS_V6_VMPAHHSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmpa(.h,.h,.h):sat", .il_ops = { - { hex_il_op_v6_vmpahhsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpahhsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33772,18 +33773,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x198000a0 }, .id = HEX_INS_V6_VMPAUHB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vmpa(.uh,.b)", .il_ops = { - { hex_il_op_v6_vmpauhb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpauhb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33791,18 +33792,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19802040 }, .id = HEX_INS_V6_VMPAUHB_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vmpa(.uh,.b)", .il_ops = { - { hex_il_op_v6_vmpauhb_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpauhb_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33810,19 +33811,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x198020a0 }, .id = HEX_INS_V6_VMPAUHUHSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmpa(.h,.uh,.uh):sat", .il_ops = { - { hex_il_op_v6_vmpauhuhsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpauhuhsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33830,19 +33831,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x198020c0 }, .id = HEX_INS_V6_VMPSUHUHSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmps(.h,.uh,.uh):sat", .il_ops = { - { hex_il_op_v6_vmpsuhuhsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpsuhuhsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33850,18 +33851,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f802060 }, .id = HEX_INS_V6_VMPY_HF_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf = vmpy(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vmpy_hf_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpy_hf_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33869,18 +33870,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c402040 }, .id = HEX_INS_V6_VMPY_HF_HF_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf += vmpy(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vmpy_hf_hf_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpy_hf_hf_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33888,18 +33889,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fe02060 }, .id = HEX_INS_V6_VMPY_QF16, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf16 = vmpy(.qf16,.qf16)", .il_ops = { - { hex_il_op_v6_vmpy_qf16, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpy_qf16, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33907,18 +33908,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fe02080 }, .id = HEX_INS_V6_VMPY_QF16_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf16 = vmpy(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vmpy_qf16_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpy_qf16_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33926,18 +33927,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fe020a0 }, .id = HEX_INS_V6_VMPY_QF16_MIX_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf16 = vmpy(.qf16,.hf)", .il_ops = { - { hex_il_op_v6_vmpy_qf16_mix_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpy_qf16_mix_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33945,18 +33946,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fe02000 }, .id = HEX_INS_V6_VMPY_QF32, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf32 = vmpy(.qf32,.qf32)", .il_ops = { - { hex_il_op_v6_vmpy_qf32, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpy_qf32, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33964,18 +33965,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fe020e0 }, .id = HEX_INS_V6_VMPY_QF32_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf32 = vmpy(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vmpy_qf32_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpy_qf32_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -33983,18 +33984,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f802000 }, .id = HEX_INS_V6_VMPY_QF32_MIX_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf32 = vmpy(.qf16,.hf)", .il_ops = { - { hex_il_op_v6_vmpy_qf32_mix_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpy_qf32_mix_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34002,18 +34003,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fe020c0 }, .id = HEX_INS_V6_VMPY_QF32_QF16, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf32 = vmpy(.qf16,.qf16)", .il_ops = { - { hex_il_op_v6_vmpy_qf32_qf16, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpy_qf32_qf16, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34021,18 +34022,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fe02020 }, .id = HEX_INS_V6_VMPY_QF32_SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf32 = vmpy(.sf,.sf)", .il_ops = { - { hex_il_op_v6_vmpy_qf32_sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpy_qf32_sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34040,18 +34041,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f802040 }, .id = HEX_INS_V6_VMPY_SF_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf = vmpy(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vmpy_sf_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpy_sf_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34059,18 +34060,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c402020 }, .id = HEX_INS_V6_VMPY_SF_HF_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf += vmpy(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vmpy_sf_hf_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpy_sf_hf_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34078,18 +34079,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f802020 }, .id = HEX_INS_V6_VMPY_SF_SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf = vmpy(.sf,.sf)", .il_ops = { - { hex_il_op_v6_vmpy_sf_sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpy_sf_sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34097,18 +34098,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x192000a0 }, .id = HEX_INS_V6_VMPYBUS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmpy(.ub,.b)", .il_ops = { - { hex_il_op_v6_vmpybus, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpybus, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34116,18 +34117,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x192020a0 }, .id = HEX_INS_V6_VMPYBUS_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h += vmpy(.ub,.b)", .il_ops = { - { hex_il_op_v6_vmpybus_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpybus_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34135,18 +34136,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c0000c0 }, .id = HEX_INS_V6_VMPYBUSV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmpy(.ub,.b)", .il_ops = { - { hex_il_op_v6_vmpybusv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpybusv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34154,18 +34155,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c0020c0 }, .id = HEX_INS_V6_VMPYBUSV_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h += vmpy(.ub,.b)", .il_ops = { - { hex_il_op_v6_vmpybusv_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpybusv_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34173,18 +34174,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c000080 }, .id = HEX_INS_V6_VMPYBV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmpy(.b,.b)", .il_ops = { - { hex_il_op_v6_vmpybv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpybv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34192,18 +34193,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c002080 }, .id = HEX_INS_V6_VMPYBV_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h += vmpy(.b,.b)", .il_ops = { - { hex_il_op_v6_vmpybv_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpybv_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34211,18 +34212,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fe000a0 }, .id = HEX_INS_V6_VMPYEWUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vmpye(.w,.uh)", .il_ops = { - { hex_il_op_v6_vmpyewuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyewuh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34230,18 +34231,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ea000c0 }, .id = HEX_INS_V6_VMPYEWUH_64, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpye(.w,.uh)", .il_ops = { - { hex_il_op_v6_vmpyewuh_64, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyewuh_64, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34249,18 +34250,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19400000 }, .id = HEX_INS_V6_VMPYH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vmpy(.h,.h)", .il_ops = { - { hex_il_op_v6_vmpyh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34268,18 +34269,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19a020c0 }, .id = HEX_INS_V6_VMPYH_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vmpy(.h,.h)", .il_ops = { - { hex_il_op_v6_vmpyh_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyh_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34287,18 +34288,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19402000 }, .id = HEX_INS_V6_VMPYHSAT_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vmpy(.h,.h):sat", .il_ops = { - { hex_il_op_v6_vmpyhsat_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyhsat_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34306,18 +34307,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19400040 }, .id = HEX_INS_V6_VMPYHSRS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmpy(.h,.h):<<1:rnd:sat", .il_ops = { - { hex_il_op_v6_vmpyhsrs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyhsrs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34325,18 +34326,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19400020 }, .id = HEX_INS_V6_VMPYHSS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmpy(.h,.h):<<1:sat", .il_ops = { - { hex_il_op_v6_vmpyhss, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyhss, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34344,18 +34345,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c200040 }, .id = HEX_INS_V6_VMPYHUS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vmpy(.h,.uh)", .il_ops = { - { hex_il_op_v6_vmpyhus, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyhus, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34363,18 +34364,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c202020 }, .id = HEX_INS_V6_VMPYHUS_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vmpy(.h,.uh)", .il_ops = { - { hex_il_op_v6_vmpyhus_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyhus_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34382,18 +34383,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c0000e0 }, .id = HEX_INS_V6_VMPYHV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vmpy(.h,.h)", .il_ops = { - { hex_il_op_v6_vmpyhv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyhv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34401,18 +34402,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c0020e0 }, .id = HEX_INS_V6_VMPYHV_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vmpy(.h,.h)", .il_ops = { - { hex_il_op_v6_vmpyhv_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyhv_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34420,18 +34421,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c200020 }, .id = HEX_INS_V6_VMPYHVSRS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmpy(.h,.h):<<1:rnd:sat", .il_ops = { - { hex_il_op_v6_vmpyhvsrs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyhvsrs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34439,18 +34440,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f600000 }, .id = HEX_INS_V6_VMPYIEOH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vmpyieo(.h,.h)", .il_ops = { - { hex_il_op_v6_vmpyieoh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyieoh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34458,18 +34459,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c402000 }, .id = HEX_INS_V6_VMPYIEWH_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vmpyie(.w,.h)", .il_ops = { - { hex_il_op_v6_vmpyiewh_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyiewh_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34477,18 +34478,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fc00000 }, .id = HEX_INS_V6_VMPYIEWUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vmpyie(.w,.uh)", .il_ops = { - { hex_il_op_v6_vmpyiewuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyiewuh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34496,18 +34497,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c2020a0 }, .id = HEX_INS_V6_VMPYIEWUH_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vmpyie(.w,.uh)", .il_ops = { - { hex_il_op_v6_vmpyiewuh_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyiewuh_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34515,18 +34516,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c200080 }, .id = HEX_INS_V6_VMPYIH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmpyi(.h,.h)", .il_ops = { - { hex_il_op_v6_vmpyih, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyih, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34534,18 +34535,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c202080 }, .id = HEX_INS_V6_VMPYIH_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h += vmpyi(.h,.h)", .il_ops = { - { hex_il_op_v6_vmpyih_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyih_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34553,18 +34554,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19600000 }, .id = HEX_INS_V6_VMPYIHB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vmpyi(.h,.b)", .il_ops = { - { hex_il_op_v6_vmpyihb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyihb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34572,18 +34573,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19602020 }, .id = HEX_INS_V6_VMPYIHB_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h += vmpyi(.h,.b)", .il_ops = { - { hex_il_op_v6_vmpyihb_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyihb_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34591,18 +34592,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fc00020 }, .id = HEX_INS_V6_VMPYIOWH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vmpyio(.w,.h)", .il_ops = { - { hex_il_op_v6_vmpyiowh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyiowh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34610,18 +34611,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19a00000 }, .id = HEX_INS_V6_VMPYIWB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vmpyi(.w,.b)", .il_ops = { - { hex_il_op_v6_vmpyiwb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyiwb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34629,18 +34630,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19402040 }, .id = HEX_INS_V6_VMPYIWB_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vmpyi(.w,.b)", .il_ops = { - { hex_il_op_v6_vmpyiwb_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyiwb_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34648,18 +34649,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x198000e0 }, .id = HEX_INS_V6_VMPYIWH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vmpyi(.w,.h)", .il_ops = { - { hex_il_op_v6_vmpyiwh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyiwh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34667,18 +34668,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19402060 }, .id = HEX_INS_V6_VMPYIWH_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vmpyi(.w,.h)", .il_ops = { - { hex_il_op_v6_vmpyiwh_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyiwh_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34686,18 +34687,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x198000c0 }, .id = HEX_INS_V6_VMPYIWUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vmpyi(.w,.ub)", .il_ops = { - { hex_il_op_v6_vmpyiwub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyiwub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34705,18 +34706,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19802020 }, .id = HEX_INS_V6_VMPYIWUB_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vmpyi(.w,.ub)", .il_ops = { - { hex_il_op_v6_vmpyiwub_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyiwub_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34724,18 +34725,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fe000e0 }, .id = HEX_INS_V6_VMPYOWH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vmpyo(.w,.h):<<1:sat", .il_ops = { - { hex_il_op_v6_vmpyowh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyowh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34743,18 +34744,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c202060 }, .id = HEX_INS_V6_VMPYOWH_64_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyo(.w,.h)", .il_ops = { - { hex_il_op_v6_vmpyowh_64_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyowh_64_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34762,18 +34763,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f400000 }, .id = HEX_INS_V6_VMPYOWH_RND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vmpyo(.w,.h):<<1:rnd:sat", .il_ops = { - { hex_il_op_v6_vmpyowh_rnd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyowh_rnd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34781,18 +34782,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c2020e0 }, .id = HEX_INS_V6_VMPYOWH_RND_SACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vmpyo(.w,.h):<<1:rnd:sat:shift", .il_ops = { - { hex_il_op_v6_vmpyowh_rnd_sacc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyowh_rnd_sacc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34800,18 +34801,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c2020c0 }, .id = HEX_INS_V6_VMPYOWH_SACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vmpyo(.w,.h):<<1:sat:shift", .il_ops = { - { hex_il_op_v6_vmpyowh_sacc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyowh_sacc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34819,18 +34820,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19c00000 }, .id = HEX_INS_V6_VMPYUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vmpy(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vmpyub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34838,18 +34839,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19802000 }, .id = HEX_INS_V6_VMPYUB_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh += vmpy(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vmpyub_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyub_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34857,18 +34858,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c0000a0 }, .id = HEX_INS_V6_VMPYUBV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vmpy(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vmpyubv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyubv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34876,18 +34877,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c0020a0 }, .id = HEX_INS_V6_VMPYUBV_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh += vmpy(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vmpyubv_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyubv_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34895,18 +34896,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19400060 }, .id = HEX_INS_V6_VMPYUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vmpy(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vmpyuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyuh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34914,18 +34915,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19402020 }, .id = HEX_INS_V6_VMPYUH_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw += vmpy(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vmpyuh_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyuh_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34933,18 +34934,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19600040 }, .id = HEX_INS_V6_VMPYUHE, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vmpye(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vmpyuhe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyuhe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34952,18 +34953,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19802060 }, .id = HEX_INS_V6_VMPYUHE_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw += vmpye(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vmpyuhe_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyuhe_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34971,18 +34972,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c200000 }, .id = HEX_INS_V6_VMPYUHV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vmpy(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vmpyuhv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyuhv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -34990,18 +34991,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c202000 }, .id = HEX_INS_V6_VMPYUHV_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw += vmpy(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vmpyuhv_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyuhv_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35009,18 +35010,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fc020e0 }, .id = HEX_INS_V6_VMPYUHVS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vmpy(.uh,.uh):>>16", .il_ops = { - { hex_il_op_v6_vmpyuhvs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmpyuhvs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35028,19 +35029,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02080, .op = 0x1ee02000 }, .id = HEX_INS_V6_VMUX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 't', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmux(,,)", .il_ops = { - { hex_il_op_v6_vmux, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vmux, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35048,18 +35049,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f0020c0 }, .id = HEX_INS_V6_VNAVGB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vnavg(.b,.b)", .il_ops = { - { hex_il_op_v6_vnavgb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vnavgb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35067,18 +35068,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ce00020 }, .id = HEX_INS_V6_VNAVGH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vnavg(.h,.h)", .il_ops = { - { hex_il_op_v6_vnavgh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vnavgh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35086,18 +35087,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ce00000 }, .id = HEX_INS_V6_VNAVGUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vnavg(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vnavgub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vnavgub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35105,18 +35106,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ce00040 }, .id = HEX_INS_V6_VNAVGW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vnavg(.w,.w)", .il_ops = { - { hex_il_op_v6_vnavgw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vnavgw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35124,10 +35125,10 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02080, .op = 0x1a400000 }, .id = HEX_INS_V6_VNCCOMBINE, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 20 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -35135,9 +35136,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "if (!) = vcombine(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vnccombine, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vnccombine, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35145,9 +35146,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff2080, .op = 0x1a200000 }, .id = HEX_INS_V6_VNCMOV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -35155,9 +35156,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .syntax = "if (!) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vncmov, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vncmov, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35165,17 +35166,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e0300a0 }, .id = HEX_INS_V6_VNORMAMTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vnormamt(.h)", .il_ops = { - { hex_il_op_v6_vnormamth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vnormamth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35183,17 +35184,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e030080 }, .id = HEX_INS_V6_VNORMAMTW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vnormamt(.w)", .il_ops = { - { hex_il_op_v6_vnormamtw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vnormamtw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35201,17 +35202,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e000080 }, .id = HEX_INS_V6_VNOT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vnot()", .il_ops = { - { hex_il_op_v6_vnot, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vnot, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35219,18 +35220,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c2000c0 }, .id = HEX_INS_V6_VOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vor(,)", .il_ops = { - { hex_il_op_v6_vor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35238,18 +35239,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fc00040 }, .id = HEX_INS_V6_VPACKEB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vpacke(.h,.h)", .il_ops = { - { hex_il_op_v6_vpackeb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vpackeb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35257,18 +35258,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fc00060 }, .id = HEX_INS_V6_VPACKEH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vpacke(.w,.w)", .il_ops = { - { hex_il_op_v6_vpackeh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vpackeh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35276,18 +35277,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fc000c0 }, .id = HEX_INS_V6_VPACKHB_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vpack(.h,.h):sat", .il_ops = { - { hex_il_op_v6_vpackhb_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vpackhb_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35295,18 +35296,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fc000a0 }, .id = HEX_INS_V6_VPACKHUB_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vpack(.h,.h):sat", .il_ops = { - { hex_il_op_v6_vpackhub_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vpackhub_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35314,18 +35315,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fe00020 }, .id = HEX_INS_V6_VPACKOB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vpacko(.h,.h)", .il_ops = { - { hex_il_op_v6_vpackob, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vpackob, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35333,18 +35334,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fe00040 }, .id = HEX_INS_V6_VPACKOH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vpacko(.w,.w)", .il_ops = { - { hex_il_op_v6_vpackoh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vpackoh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35352,18 +35353,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fe00000 }, .id = HEX_INS_V6_VPACKWH_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vpack(.w,.w):sat", .il_ops = { - { hex_il_op_v6_vpackwh_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vpackwh_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35371,18 +35372,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fc000e0 }, .id = HEX_INS_V6_VPACKWUH_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vpack(.w,.w):sat", .il_ops = { - { hex_il_op_v6_vpackwuh_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vpackwuh_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35390,17 +35391,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e0200c0 }, .id = HEX_INS_V6_VPOPCOUNTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vpopcount(.h)", .il_ops = { - { hex_il_op_v6_vpopcounth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vpopcounth, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35408,17 +35409,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f3fe0, .op = 0x1e032040 }, .id = HEX_INS_V6_VPREFIXQB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = prefixsum()", .il_ops = { - { hex_il_op_v6_vprefixqb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vprefixqb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35426,17 +35427,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f3fe0, .op = 0x1e032140 }, .id = HEX_INS_V6_VPREFIXQH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = prefixsum()", .il_ops = { - { hex_il_op_v6_vprefixqh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vprefixqh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35444,17 +35445,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f3fe0, .op = 0x1e032240 }, .id = HEX_INS_V6_VPREFIXQW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = prefixsum()", .il_ops = { - { hex_il_op_v6_vprefixqw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vprefixqw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35462,18 +35463,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f200060 }, .id = HEX_INS_V6_VRDELTA, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrdelta(,)", .il_ops = { - { hex_il_op_v6_vrdelta, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrdelta, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35481,18 +35482,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19c000a0 }, .id = HEX_INS_V6_VRMPYBUB_RTT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vrmpy(.b,.ub)", .il_ops = { - { hex_il_op_v6_vrmpybub_rtt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpybub_rtt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35500,18 +35501,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19a02000 }, .id = HEX_INS_V6_VRMPYBUB_RTT_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vrmpy(.b,.ub)", .il_ops = { - { hex_il_op_v6_vrmpybub_rtt_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpybub_rtt_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35519,18 +35520,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19000080 }, .id = HEX_INS_V6_VRMPYBUS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vrmpy(.ub,.b)", .il_ops = { - { hex_il_op_v6_vrmpybus, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpybus, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35538,18 +35539,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x190020a0 }, .id = HEX_INS_V6_VRMPYBUS_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vrmpy(.ub,.b)", .il_ops = { - { hex_il_op_v6_vrmpybus_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpybus_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35557,19 +35558,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020c0, .op = 0x19400080 }, .id = HEX_INS_V6_VRMPYBUSI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vrmpy(.ub,.b,)", .il_ops = { - { hex_il_op_v6_vrmpybusi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpybusi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35577,19 +35578,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020c0, .op = 0x19402080 }, .id = HEX_INS_V6_VRMPYBUSI_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vrmpy(.ub,.b,)", .il_ops = { - { hex_il_op_v6_vrmpybusi_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpybusi_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35597,18 +35598,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c000040 }, .id = HEX_INS_V6_VRMPYBUSV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vrmpy(.ub,.b)", .il_ops = { - { hex_il_op_v6_vrmpybusv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpybusv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35616,18 +35617,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c002040 }, .id = HEX_INS_V6_VRMPYBUSV_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vrmpy(.ub,.b)", .il_ops = { - { hex_il_op_v6_vrmpybusv_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpybusv_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35635,18 +35636,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c000020 }, .id = HEX_INS_V6_VRMPYBV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vrmpy(.b,.b)", .il_ops = { - { hex_il_op_v6_vrmpybv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpybv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35654,18 +35655,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c002020 }, .id = HEX_INS_V6_VRMPYBV_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vrmpy(.b,.b)", .il_ops = { - { hex_il_op_v6_vrmpybv_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpybv_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35673,18 +35674,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19000060 }, .id = HEX_INS_V6_VRMPYUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vrmpy(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vrmpyub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35692,18 +35693,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19002080 }, .id = HEX_INS_V6_VRMPYUB_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw += vrmpy(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vrmpyub_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyub_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35711,18 +35712,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19c00080 }, .id = HEX_INS_V6_VRMPYUB_RTT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vrmpy(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vrmpyub_rtt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyub_rtt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35730,18 +35731,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19a020e0 }, .id = HEX_INS_V6_VRMPYUB_RTT_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw += vrmpy(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vrmpyub_rtt_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyub_rtt_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35749,19 +35750,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020c0, .op = 0x19a000c0 }, .id = HEX_INS_V6_VRMPYUBI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vrmpy(.ub,.ub,)", .il_ops = { - { hex_il_op_v6_vrmpyubi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyubi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35769,19 +35770,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020c0, .op = 0x196020c0 }, .id = HEX_INS_V6_VRMPYUBI_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw += vrmpy(.ub,.ub,)", .il_ops = { - { hex_il_op_v6_vrmpyubi_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyubi_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35789,18 +35790,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c000000 }, .id = HEX_INS_V6_VRMPYUBV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vrmpy(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vrmpyubv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyubv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35808,18 +35809,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c002000 }, .id = HEX_INS_V6_VRMPYUBV_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw += vrmpy(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vrmpyubv_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyubv_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35827,18 +35828,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19e80000 }, .id = HEX_INS_V6_VRMPYZBB_RT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vrmpyz(.b,.b)", .il_ops = { - { hex_il_op_v6_vrmpyzbb_rt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyzbb_rt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35846,18 +35847,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19c02040 }, .id = HEX_INS_V6_VRMPYZBB_RT_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vrmpyz(.b,.b)", .il_ops = { - { hex_il_op_v6_vrmpyzbb_rt_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyzbb_rt_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35865,18 +35866,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19e00000 }, .id = HEX_INS_V6_VRMPYZBB_RX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 'x', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vrmpyz(.b,.b++)", .il_ops = { - { hex_il_op_v6_vrmpyzbb_rx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyzbb_rx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35884,18 +35885,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19c82040 }, .id = HEX_INS_V6_VRMPYZBB_RX_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 'x', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vrmpyz(.b,.b++)", .il_ops = { - { hex_il_op_v6_vrmpyzbb_rx_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyzbb_rx_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35903,18 +35904,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19f80040 }, .id = HEX_INS_V6_VRMPYZBUB_RT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vrmpyz(.b,.ub)", .il_ops = { - { hex_il_op_v6_vrmpyzbub_rt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyzbub_rt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35922,18 +35923,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19d02020 }, .id = HEX_INS_V6_VRMPYZBUB_RT_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vrmpyz(.b,.ub)", .il_ops = { - { hex_il_op_v6_vrmpyzbub_rt_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyzbub_rt_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35941,18 +35942,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19f00040 }, .id = HEX_INS_V6_VRMPYZBUB_RX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 'x', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vrmpyz(.b,.ub++)", .il_ops = { - { hex_il_op_v6_vrmpyzbub_rx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyzbub_rx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35960,18 +35961,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19d82020 }, .id = HEX_INS_V6_VRMPYZBUB_RX_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 'x', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vrmpyz(.b,.ub++)", .il_ops = { - { hex_il_op_v6_vrmpyzbub_rx_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyzbub_rx_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35979,18 +35980,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19e80020 }, .id = HEX_INS_V6_VRMPYZCB_RT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vr16mpyz(.c,.b)", .il_ops = { - { hex_il_op_v6_vrmpyzcb_rt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyzcb_rt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -35998,18 +35999,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19c02060 }, .id = HEX_INS_V6_VRMPYZCB_RT_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vr16mpyz(.c,.b)", .il_ops = { - { hex_il_op_v6_vrmpyzcb_rt_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyzcb_rt_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36017,18 +36018,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19e00020 }, .id = HEX_INS_V6_VRMPYZCB_RX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 'x', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vr16mpyz(.c,.b++)", .il_ops = { - { hex_il_op_v6_vrmpyzcb_rx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyzcb_rx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36036,18 +36037,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19c82060 }, .id = HEX_INS_V6_VRMPYZCB_RX_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 'x', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vr16mpyz(.c,.b++)", .il_ops = { - { hex_il_op_v6_vrmpyzcb_rx_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyzcb_rx_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36055,18 +36056,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19e80040 }, .id = HEX_INS_V6_VRMPYZCBS_RT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vr16mpyzs(.c,.b)", .il_ops = { - { hex_il_op_v6_vrmpyzcbs_rt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyzcbs_rt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36074,18 +36075,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19c02020 }, .id = HEX_INS_V6_VRMPYZCBS_RT_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vr16mpyzs(.c,.b)", .il_ops = { - { hex_il_op_v6_vrmpyzcbs_rt_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyzcbs_rt_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36093,18 +36094,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19e00040 }, .id = HEX_INS_V6_VRMPYZCBS_RX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 'x', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vr16mpyzs(.c,.b++)", .il_ops = { - { hex_il_op_v6_vrmpyzcbs_rx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyzcbs_rx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36112,18 +36113,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19c82020 }, .id = HEX_INS_V6_VRMPYZCBS_RX_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 'x', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vr16mpyzs(.c,.b++)", .il_ops = { - { hex_il_op_v6_vrmpyzcbs_rx_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyzcbs_rx_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36131,18 +36132,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19f80000 }, .id = HEX_INS_V6_VRMPYZNB_RT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vr8mpyz(.n,.b)", .il_ops = { - { hex_il_op_v6_vrmpyznb_rt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyznb_rt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36150,18 +36151,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19d02040 }, .id = HEX_INS_V6_VRMPYZNB_RT_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vr8mpyz(.n,.b)", .il_ops = { - { hex_il_op_v6_vrmpyznb_rt_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyznb_rt_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36169,18 +36170,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19f00000 }, .id = HEX_INS_V6_VRMPYZNB_RX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 'x', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vr8mpyz(.n,.b++)", .il_ops = { - { hex_il_op_v6_vrmpyznb_rx, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyznb_rx, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36188,18 +36189,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xfff820e0, .op = 0x19d82040 }, .id = HEX_INS_V6_VRMPYZNB_RX_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_QUADRUPLE, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VQR, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 'x', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += vr8mpyz(.n,.b++)", .il_ops = { - { hex_il_op_v6_vrmpyznb_rx_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrmpyznb_rx_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36207,18 +36208,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19600020 }, .id = HEX_INS_V6_VROR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vror(,)", .il_ops = { - { hex_il_op_v6_vror, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vror, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36226,18 +36227,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1a8020e0 }, .id = HEX_INS_V6_VROTR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vrotr(.uw,.uw)", .il_ops = { - { hex_il_op_v6_vrotr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrotr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36245,18 +36246,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f6000c0 }, .id = HEX_INS_V6_VROUNDHB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vround(.h,.h):sat", .il_ops = { - { hex_il_op_v6_vroundhb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vroundhb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36264,18 +36265,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f6000e0 }, .id = HEX_INS_V6_VROUNDHUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vround(.h,.h):sat", .il_ops = { - { hex_il_op_v6_vroundhub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vroundhub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36283,18 +36284,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fe00060 }, .id = HEX_INS_V6_VROUNDUHUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vround(.uh,.uh):sat", .il_ops = { - { hex_il_op_v6_vrounduhub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrounduhub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36302,18 +36303,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fe00080 }, .id = HEX_INS_V6_VROUNDUWUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vround(.uw,.uw):sat", .il_ops = { - { hex_il_op_v6_vrounduwuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrounduwuh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36321,18 +36322,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f600080 }, .id = HEX_INS_V6_VROUNDWH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vround(.w,.w):sat", .il_ops = { - { hex_il_op_v6_vroundwh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vroundwh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36340,18 +36341,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f6000a0 }, .id = HEX_INS_V6_VROUNDWUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vround(.w,.w):sat", .il_ops = { - { hex_il_op_v6_vroundwuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vroundwuh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36359,19 +36360,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020c0, .op = 0x194000c0 }, .id = HEX_INS_V6_VRSADUBI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vrsad(.ub,.ub,)", .il_ops = { - { hex_il_op_v6_vrsadubi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrsadubi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36379,19 +36380,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020c0, .op = 0x194020c0 }, .id = HEX_INS_V6_VRSADUBI_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw += vrsad(.ub,.ub,)", .il_ops = { - { hex_il_op_v6_vrsadubi_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vrsadubi_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36399,18 +36400,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1d8020e0 }, .id = HEX_INS_V6_VSATDW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vsatdw(.w,.w)", .il_ops = { - { hex_il_op_v6_vsatdw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsatdw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36418,18 +36419,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f600040 }, .id = HEX_INS_V6_VSATHUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vsat(.h,.h)", .il_ops = { - { hex_il_op_v6_vsathub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsathub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36437,18 +36438,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f2000c0 }, .id = HEX_INS_V6_VSATUWUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vsat(.uw,.uw)", .il_ops = { - { hex_il_op_v6_vsatuwuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsatuwuh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36456,18 +36457,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f600060 }, .id = HEX_INS_V6_VSATWH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vsat(.w,.w)", .il_ops = { - { hex_il_op_v6_vsatwh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsatwh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36475,17 +36476,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e020060 }, .id = HEX_INS_V6_VSB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vsxt(.b)", .il_ops = { - { hex_il_op_v6_vsb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36493,17 +36494,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e020080 }, .id = HEX_INS_V6_VSH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vsxt(.h)", .il_ops = { - { hex_il_op_v6_vsh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36511,18 +36512,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f400060 }, .id = HEX_INS_V6_VSHUFEH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vshuffe(.h,.h)", .il_ops = { - { hex_il_op_v6_vshufeh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vshufeh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36530,18 +36531,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19e02020 }, .id = HEX_INS_V6_VSHUFF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'y', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vshuff(,,)", .il_ops = { - { hex_il_op_v6_vshuff, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vshuff, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36549,17 +36550,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e020000 }, .id = HEX_INS_V6_VSHUFFB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vshuff(.b)", .il_ops = { - { hex_il_op_v6_vshuffb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vshuffb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36567,18 +36568,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f400020 }, .id = HEX_INS_V6_VSHUFFEB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vshuffe(.b,.b)", .il_ops = { - { hex_il_op_v6_vshuffeb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vshuffeb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36586,17 +36587,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e0100e0 }, .id = HEX_INS_V6_VSHUFFH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vshuff(.h)", .il_ops = { - { hex_il_op_v6_vshuffh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vshuffh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36604,18 +36605,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f400040 }, .id = HEX_INS_V6_VSHUFFOB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vshuffo(.b,.b)", .il_ops = { - { hex_il_op_v6_vshuffob, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vshuffob, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36623,19 +36624,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff0020e0, .op = 0x1b002060 }, .id = HEX_INS_V6_VSHUFFVDD, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 19 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS_LOW8, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vshuff(,,)", .il_ops = { - { hex_il_op_v6_vshuffvdd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vshuffvdd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36643,18 +36644,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f4000c0 }, .id = HEX_INS_V6_VSHUFOEB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vshuffoe(.b,.b)", .il_ops = { - { hex_il_op_v6_vshufoeb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vshufoeb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36662,18 +36663,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f4000a0 }, .id = HEX_INS_V6_VSHUFOEH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vshuffoe(.h,.h)", .il_ops = { - { hex_il_op_v6_vshufoeh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vshufoeh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36681,18 +36682,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f400080 }, .id = HEX_INS_V6_VSHUFOH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vshuffo(.h,.h)", .il_ops = { - { hex_il_op_v6_vshufoh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vshufoh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36700,18 +36701,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f6020c0 }, .id = HEX_INS_V6_VSUB_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf16 = vsub(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vsub_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsub_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36719,18 +36720,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f602000 }, .id = HEX_INS_V6_VSUB_HF_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".hf = vsub(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vsub_hf_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsub_hf_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36738,18 +36739,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f6020a0 }, .id = HEX_INS_V6_VSUB_QF16, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf16 = vsub(.qf16,.qf16)", .il_ops = { - { hex_il_op_v6_vsub_qf16, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsub_qf16, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36757,18 +36758,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f6020e0 }, .id = HEX_INS_V6_VSUB_QF16_MIX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf16 = vsub(.qf16,.hf)", .il_ops = { - { hex_il_op_v6_vsub_qf16_mix, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsub_qf16_mix, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36776,18 +36777,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fa02060 }, .id = HEX_INS_V6_VSUB_QF32, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf32 = vsub(.qf32,.qf32)", .il_ops = { - { hex_il_op_v6_vsub_qf32, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsub_qf32, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36795,18 +36796,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fa020a0 }, .id = HEX_INS_V6_VSUB_QF32_MIX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf32 = vsub(.qf32,.sf)", .il_ops = { - { hex_il_op_v6_vsub_qf32_mix, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsub_qf32_mix, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36814,18 +36815,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fa02080 }, .id = HEX_INS_V6_VSUB_SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".qf32 = vsub(.sf,.sf)", .il_ops = { - { hex_il_op_v6_vsub_sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsub_sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36833,18 +36834,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f8020a0 }, .id = HEX_INS_V6_VSUB_SF_HF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf = vsub(.hf,.hf)", .il_ops = { - { hex_il_op_v6_vsub_sf_hf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsub_sf_hf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36852,18 +36853,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f8020e0 }, .id = HEX_INS_V6_VSUB_SF_SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".sf = vsub(.sf,.sf)", .il_ops = { - { hex_il_op_v6_vsub_sf_sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsub_sf_sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36871,18 +36872,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c4000a0 }, .id = HEX_INS_V6_VSUBB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vsub(.b,.b)", .il_ops = { - { hex_il_op_v6_vsubb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36890,18 +36891,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c800060 }, .id = HEX_INS_V6_VSUBB_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vsub(.b,.b)", .il_ops = { - { hex_il_op_v6_vsubb_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubb_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36909,18 +36910,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f20e0, .op = 0x1e022020 }, .id = HEX_INS_V6_VSUBBNQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if (!) .b -= .b", .il_ops = { - { hex_il_op_v6_vsubbnq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubbnq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36928,18 +36929,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f20e0, .op = 0x1e0120c0 }, .id = HEX_INS_V6_VSUBBQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () .b -= .b", .il_ops = { - { hex_il_op_v6_vsubbq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubbq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36947,18 +36948,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1f200040 }, .id = HEX_INS_V6_VSUBBSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vsub(.b,.b):sat", .il_ops = { - { hex_il_op_v6_vsubbsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubbsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36966,18 +36967,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ea00020 }, .id = HEX_INS_V6_VSUBBSAT_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".b = vsub(.b,.b):sat", .il_ops = { - { hex_il_op_v6_vsubbsat_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubbsat_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -36985,19 +36986,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02080, .op = 0x1ca02080 }, .id = HEX_INS_V6_VSUBCARRY, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'x', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vsub(.w,.w,):carry", .il_ops = { - { hex_il_op_v6_vsubcarry, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubcarry, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37005,19 +37006,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02080, .op = 0x1da02080 }, .id = HEX_INS_V6_VSUBCARRYO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 3 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'e', .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w, = vsub(.w,.w):carry", .il_ops = { - { hex_il_op_v6_vsubcarryo, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubcarryo, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37025,18 +37026,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c4000c0 }, .id = HEX_INS_V6_VSUBH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vsub(.h,.h)", .il_ops = { - { hex_il_op_v6_vsubh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37044,18 +37045,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c800080 }, .id = HEX_INS_V6_VSUBH_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vsub(.h,.h)", .il_ops = { - { hex_il_op_v6_vsubh_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubh_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37063,18 +37064,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f20e0, .op = 0x1e022040 }, .id = HEX_INS_V6_VSUBHNQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if (!) .h -= .h", .il_ops = { - { hex_il_op_v6_vsubhnq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubhnq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37082,18 +37083,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f20e0, .op = 0x1e0120e0 }, .id = HEX_INS_V6_VSUBHQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () .h -= .h", .il_ops = { - { hex_il_op_v6_vsubhq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubhq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37101,18 +37102,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c600040 }, .id = HEX_INS_V6_VSUBHSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vsub(.h,.h):sat", .il_ops = { - { hex_il_op_v6_vsubhsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubhsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37120,18 +37121,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ca00000 }, .id = HEX_INS_V6_VSUBHSAT_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vsub(.h,.h):sat", .il_ops = { - { hex_il_op_v6_vsubhsat_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubhsat_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37139,18 +37140,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ca000e0 }, .id = HEX_INS_V6_VSUBHW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vsub(.h,.h)", .il_ops = { - { hex_il_op_v6_vsubhw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubhw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37158,18 +37159,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ca000a0 }, .id = HEX_INS_V6_VSUBUBH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vsub(.ub,.ub)", .il_ops = { - { hex_il_op_v6_vsububh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsububh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37177,18 +37178,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c600000 }, .id = HEX_INS_V6_VSUBUBSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vsub(.ub,.ub):sat", .il_ops = { - { hex_il_op_v6_vsububsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsububsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37196,18 +37197,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c8000c0 }, .id = HEX_INS_V6_VSUBUBSAT_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vsub(.ub,.ub):sat", .il_ops = { - { hex_il_op_v6_vsububsat_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsububsat_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37215,18 +37216,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ea000a0 }, .id = HEX_INS_V6_VSUBUBUBB_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".ub = vsub(.ub,.b):sat", .il_ops = { - { hex_il_op_v6_vsubububb_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubububb_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37234,18 +37235,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c600020 }, .id = HEX_INS_V6_VSUBUHSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vsub(.uh,.uh):sat", .il_ops = { - { hex_il_op_v6_vsubuhsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubuhsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37253,18 +37254,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c8000e0 }, .id = HEX_INS_V6_VSUBUHSAT_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vsub(.uh,.uh):sat", .il_ops = { - { hex_il_op_v6_vsubuhsat_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubuhsat_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37272,18 +37273,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ca000c0 }, .id = HEX_INS_V6_VSUBUHW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vsub(.uh,.uh)", .il_ops = { - { hex_il_op_v6_vsubuhw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubuhw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37291,18 +37292,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1fc00080 }, .id = HEX_INS_V6_VSUBUWSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vsub(.uw,.uw):sat", .il_ops = { - { hex_il_op_v6_vsubuwsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubuwsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37310,18 +37311,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ea00060 }, .id = HEX_INS_V6_VSUBUWSAT_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vsub(.uw,.uw):sat", .il_ops = { - { hex_il_op_v6_vsubuwsat_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubuwsat_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37329,18 +37330,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c4000e0 }, .id = HEX_INS_V6_VSUBW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vsub(.w,.w)", .il_ops = { - { hex_il_op_v6_vsubw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37348,18 +37349,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c8000a0 }, .id = HEX_INS_V6_VSUBW_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vsub(.w,.w)", .il_ops = { - { hex_il_op_v6_vsubw_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubw_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37367,18 +37368,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f20e0, .op = 0x1e022060 }, .id = HEX_INS_V6_VSUBWNQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if (!) .w -= .w", .il_ops = { - { hex_il_op_v6_vsubwnq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubwnq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37386,18 +37387,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f20e0, .op = 0x1e022000 }, .id = HEX_INS_V6_VSUBWQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'x', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () .w -= .w", .il_ops = { - { hex_il_op_v6_vsubwq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubwq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37405,18 +37406,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c600060 }, .id = HEX_INS_V6_VSUBWSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vsub(.w,.w):sat", .il_ops = { - { hex_il_op_v6_vsubwsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubwsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37424,18 +37425,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1ca00020 }, .id = HEX_INS_V6_VSUBWSAT_DV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vsub(.w,.w):sat", .il_ops = { - { hex_il_op_v6_vsubwsat_dv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vsubwsat_dv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37443,19 +37444,19 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe02080, .op = 0x1ea02000 }, .id = HEX_INS_V6_VSWAP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vswap(,,)", .il_ops = { - { hex_il_op_v6_vswap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vswap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37463,18 +37464,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19000000 }, .id = HEX_INS_V6_VTMPYB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = VTMPy(.b,.b)", .il_ops = { - { hex_il_op_v6_vtmpyb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vtmpyb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37482,18 +37483,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19002000 }, .id = HEX_INS_V6_VTMPYB_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h += VTMPy(.b,.b)", .il_ops = { - { hex_il_op_v6_vtmpyb_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vtmpyb_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37501,18 +37502,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19000020 }, .id = HEX_INS_V6_VTMPYBUS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = VTMPy(.ub,.b)", .il_ops = { - { hex_il_op_v6_vtmpybus, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vtmpybus, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37520,18 +37521,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19002020 }, .id = HEX_INS_V6_VTMPYBUS_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h += VTMPy(.ub,.b)", .il_ops = { - { hex_il_op_v6_vtmpybus_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vtmpybus_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37539,18 +37540,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19a00080 }, .id = HEX_INS_V6_VTMPYHB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = VTMPy(.h,.b)", .il_ops = { - { hex_il_op_v6_vtmpyhb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vtmpyhb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37558,18 +37559,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x19002040 }, .id = HEX_INS_V6_VTMPYHB_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w += VTMPy(.h,.b)", .il_ops = { - { hex_il_op_v6_vtmpyhb_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vtmpyhb_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37577,17 +37578,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e010040 }, .id = HEX_INS_V6_VUNPACKB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h = vunpack(.b)", .il_ops = { - { hex_il_op_v6_vunpackb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vunpackb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37595,17 +37596,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e010060 }, .id = HEX_INS_V6_VUNPACKH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w = vunpack(.h)", .il_ops = { - { hex_il_op_v6_vunpackh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vunpackh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37613,17 +37614,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e002000 }, .id = HEX_INS_V6_VUNPACKOB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".h |= vunpacko(.b)", .il_ops = { - { hex_il_op_v6_vunpackob, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vunpackob, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37631,17 +37632,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e002020 }, .id = HEX_INS_V6_VUNPACKOH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".w |= vunpacko(.h)", .il_ops = { - { hex_il_op_v6_vunpackoh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vunpackoh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37649,17 +37650,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e010000 }, .id = HEX_INS_V6_VUNPACKUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vunpack(.ub)", .il_ops = { - { hex_il_op_v6_vunpackub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vunpackub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37667,17 +37668,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e010020 }, .id = HEX_INS_V6_VUNPACKUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vunpack(.uh)", .il_ops = { - { hex_il_op_v6_vunpackuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vunpackuh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37689,9 +37690,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vwhist128", .il_ops = { - { hex_il_op_v6_vwhist128, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vwhist128, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37699,16 +37700,16 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff3eff, .op = 0x1e002680 }, .id = HEX_INS_V6_VWHIST128M, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 8 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vwhist128()", .il_ops = { - { hex_il_op_v6_vwhist128m, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vwhist128m, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37716,16 +37717,16 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f3fff, .op = 0x1e022480 }, .id = HEX_INS_V6_VWHIST128Q, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vwhist128()", .il_ops = { - { hex_il_op_v6_vwhist128q, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vwhist128q, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37733,17 +37734,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f3eff, .op = 0x1e022680 }, .id = HEX_INS_V6_VWHIST128QM, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 8 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 8 } }, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vwhist128(,)", .il_ops = { - { hex_il_op_v6_vwhist128qm, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vwhist128qm, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37755,9 +37756,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vwhist256", .il_ops = { - { hex_il_op_v6_vwhist256, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vwhist256, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37769,9 +37770,9 @@ static const HexInsnTemplate templates_normal_0x1[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vwhist256:sat", .il_ops = { - { hex_il_op_v6_vwhist256_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vwhist256_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37779,16 +37780,16 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f3fff, .op = 0x1e022280 }, .id = HEX_INS_V6_VWHIST256Q, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vwhist256()", .il_ops = { - { hex_il_op_v6_vwhist256q, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vwhist256q, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37796,16 +37797,16 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xff3f3fff, .op = 0x1e022380 }, .id = HEX_INS_V6_VWHIST256Q_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 22 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vwhist256():sat", .il_ops = { - { hex_il_op_v6_vwhist256q_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vwhist256q_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37813,18 +37814,18 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe020e0, .op = 0x1c2000e0 }, .id = HEX_INS_V6_VXOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vxor(,)", .il_ops = { - { hex_il_op_v6_vxor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vxor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37832,17 +37833,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e020020 }, .id = HEX_INS_V6_VZB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uh = vzxt(.ub)", .il_ops = { - { hex_il_op_v6_vzb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vzb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37850,17 +37851,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffff20e0, .op = 0x1e020040 }, .id = HEX_INS_V6_VZH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".uw = vzxt(.uh)", .il_ops = { - { hex_il_op_v6_vzh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vzh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37868,17 +37869,17 @@ static const HexInsnTemplate templates_normal_0x1[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x19a00120 }, .id = HEX_INS_V6_ZEXTRACT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = zextract()", .il_ops = { - { hex_il_op_v6_zextract, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_zextract, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -37890,9 +37891,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x20400000 }, .id = HEX_INS_J4_CMPEQ_F_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -37900,9 +37901,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.eq(.new,)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeq_f_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeq_f_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37910,9 +37911,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x20402000 }, .id = HEX_INS_J4_CMPEQ_F_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -37920,9 +37921,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.eq(.new,)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeq_f_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeq_f_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37930,9 +37931,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x20000000 }, .id = HEX_INS_J4_CMPEQ_T_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -37940,9 +37941,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.eq(.new,)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeq_t_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeq_t_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37950,9 +37951,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x20002000 }, .id = HEX_INS_J4_CMPEQ_T_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 26 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -37960,9 +37961,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.eq(.new,)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeq_t_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeq_t_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37970,9 +37971,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x24400000 }, .id = HEX_INS_J4_CMPEQI_F_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -37980,9 +37981,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.eq(.new,)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqi_f_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqi_f_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -37990,9 +37991,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x24402000 }, .id = HEX_INS_J4_CMPEQI_F_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38000,9 +38001,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.eq(.new,)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqi_f_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqi_f_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38010,9 +38011,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x24000000 }, .id = HEX_INS_J4_CMPEQI_T_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38020,9 +38021,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.eq(.new,)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqi_t_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqi_t_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38030,9 +38031,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x24002000 }, .id = HEX_INS_J4_CMPEQI_T_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 26 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38040,9 +38041,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.eq(.new,)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqi_t_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqi_t_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38050,9 +38051,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc83f01, .op = 0x26400000 }, .id = HEX_INS_J4_CMPEQN1_F_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38060,9 +38061,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.eq(.new,)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqn1_f_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqn1_f_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38070,9 +38071,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc83f01, .op = 0x26402000 }, .id = HEX_INS_J4_CMPEQN1_F_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38080,9 +38081,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.eq(.new,)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqn1_f_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqn1_f_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38090,9 +38091,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc83f01, .op = 0x26000000 }, .id = HEX_INS_J4_CMPEQN1_T_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38100,9 +38101,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.eq(.new,)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqn1_t_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqn1_t_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38110,9 +38111,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc83f01, .op = 0x26002000 }, .id = HEX_INS_J4_CMPEQN1_T_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 26 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38120,9 +38121,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.eq(.new,)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpeqn1_t_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpeqn1_t_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38130,9 +38131,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x20c00000 }, .id = HEX_INS_J4_CMPGT_F_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38140,9 +38141,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.gt(.new,)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgt_f_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgt_f_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38150,9 +38151,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x20c02000 }, .id = HEX_INS_J4_CMPGT_F_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38160,9 +38161,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.gt(.new,)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgt_f_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgt_f_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38170,9 +38171,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x20800000 }, .id = HEX_INS_J4_CMPGT_T_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38180,9 +38181,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.gt(.new,)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgt_t_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgt_t_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38190,9 +38191,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x20802000 }, .id = HEX_INS_J4_CMPGT_T_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 26 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38200,9 +38201,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.gt(.new,)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgt_t_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgt_t_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38210,9 +38211,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x24c00000 }, .id = HEX_INS_J4_CMPGTI_F_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38220,9 +38221,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.gt(.new,)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgti_f_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgti_f_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38230,9 +38231,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x24c02000 }, .id = HEX_INS_J4_CMPGTI_F_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38240,9 +38241,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.gt(.new,)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgti_f_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgti_f_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38250,9 +38251,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x24800000 }, .id = HEX_INS_J4_CMPGTI_T_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38260,9 +38261,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.gt(.new,)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgti_t_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgti_t_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38270,9 +38271,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x24802000 }, .id = HEX_INS_J4_CMPGTI_T_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 26 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38280,9 +38281,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.gt(.new,)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgti_t_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgti_t_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38290,9 +38291,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc83f01, .op = 0x26c00000 }, .id = HEX_INS_J4_CMPGTN1_F_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38300,9 +38301,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.gt(.new,)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtn1_f_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtn1_f_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38310,9 +38311,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc83f01, .op = 0x26c02000 }, .id = HEX_INS_J4_CMPGTN1_F_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38320,9 +38321,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.gt(.new,)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtn1_f_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtn1_f_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38330,9 +38331,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc83f01, .op = 0x26800000 }, .id = HEX_INS_J4_CMPGTN1_T_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38340,9 +38341,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.gt(.new,)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtn1_t_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtn1_t_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38350,9 +38351,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc83f01, .op = 0x26802000 }, .id = HEX_INS_J4_CMPGTN1_T_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, { .info = HEX_OP_TEMPLATE_TYPE_IMM_CONST, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 26 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38360,9 +38361,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.gt(.new,)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtn1_t_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtn1_t_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38370,9 +38371,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x21400000 }, .id = HEX_INS_J4_CMPGTU_F_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 29 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38380,9 +38381,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.gtu(.new,)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtu_f_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtu_f_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38390,9 +38391,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x21402000 }, .id = HEX_INS_J4_CMPGTU_F_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38400,9 +38401,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.gtu(.new,)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtu_f_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtu_f_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38410,9 +38411,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x21000000 }, .id = HEX_INS_J4_CMPGTU_T_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38420,9 +38421,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.gtu(.new,)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtu_t_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtu_t_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38430,9 +38431,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x21002000 }, .id = HEX_INS_J4_CMPGTU_T_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38440,9 +38441,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.gtu(.new,)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtu_t_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtu_t_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38450,9 +38451,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x25400000 }, .id = HEX_INS_J4_CMPGTUI_F_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 29 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38460,9 +38461,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.gtu(.new,)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtui_f_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtui_f_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38470,9 +38471,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x25402000 }, .id = HEX_INS_J4_CMPGTUI_F_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38480,9 +38481,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.gtu(.new,)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtui_f_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtui_f_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38490,9 +38491,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x25000000 }, .id = HEX_INS_J4_CMPGTUI_T_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38500,9 +38501,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.gtu(.new,)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtui_t_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtui_t_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38510,9 +38511,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x25002000 }, .id = HEX_INS_J4_CMPGTUI_T_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38520,9 +38521,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.gtu(.new,)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpgtui_t_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpgtui_t_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38530,9 +38531,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x21c00000 }, .id = HEX_INS_J4_CMPLT_F_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38540,9 +38541,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.gt(,.new)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmplt_f_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmplt_f_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38550,9 +38551,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x21c02000 }, .id = HEX_INS_J4_CMPLT_F_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38560,9 +38561,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.gt(,.new)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmplt_f_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmplt_f_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38570,9 +38571,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x21800000 }, .id = HEX_INS_J4_CMPLT_T_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38580,9 +38581,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.gt(,.new)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmplt_t_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmplt_t_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38590,9 +38591,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x21802000 }, .id = HEX_INS_J4_CMPLT_T_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 26 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 26 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38600,9 +38601,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.gt(,.new)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmplt_t_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmplt_t_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38610,9 +38611,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x22400000 }, .id = HEX_INS_J4_CMPLTU_F_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 29 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38620,9 +38621,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.gtu(,.new)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpltu_f_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpltu_f_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38630,9 +38631,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x22402000 }, .id = HEX_INS_J4_CMPLTU_F_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38640,9 +38641,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!cmp.gtu(,.new)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpltu_f_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpltu_f_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38650,9 +38651,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x22000000 }, .id = HEX_INS_J4_CMPLTU_T_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38660,9 +38661,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.gtu(,.new)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpltu_t_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpltu_t_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38670,9 +38671,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc82001, .op = 0x22002000 }, .id = HEX_INS_J4_CMPLTU_T_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 27 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 27 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38680,9 +38681,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (cmp.gtu(,.new)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_cmpltu_t_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_cmpltu_t_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38690,8 +38691,8 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc83f01, .op = 0x25c00000 }, .id = HEX_INS_J4_TSTBIT0_F_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 30 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 30 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38699,9 +38700,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!tstbit(.new,#0)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_tstbit0_f_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_tstbit0_f_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38709,8 +38710,8 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc83f01, .op = 0x25c02000 }, .id = HEX_INS_J4_TSTBIT0_F_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 29 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -38718,9 +38719,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!tstbit(.new,#0)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_tstbit0_f_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_tstbit0_f_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38728,8 +38729,8 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc83f01, .op = 0x25800000 }, .id = HEX_INS_J4_TSTBIT0_T_JUMPNV_NT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 29 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38737,9 +38738,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (tstbit(.new,#0)) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_tstbit0_t_jumpnv_nt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_tstbit0_t_jumpnv_nt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38747,8 +38748,8 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffc83f01, .op = 0x25802000 }, .id = HEX_INS_J4_TSTBIT0_T_JUMPNV_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .imm_scale = 2, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x2, 20 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 28 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -38756,9 +38757,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (tstbit(.new,#0)) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_tstbit0_t_jumpnv_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_tstbit0_t_jumpnv_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38766,18 +38767,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe018e0, .op = 0x280000e0 }, .id = HEX_INS_V6_VL32UB_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmemu(+)", .il_ops = { - { hex_il_op_v6_vl32ub_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32ub_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38785,18 +38786,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe038e0, .op = 0x290000e0 }, .id = HEX_INS_V6_VL32UB_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmemu(++)", .il_ops = { - { hex_il_op_v6_vl32ub_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32ub_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38804,18 +38805,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x2b0000e0 }, .id = HEX_INS_V6_VL32UB_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmemu(++)", .il_ops = { - { hex_il_op_v6_vl32ub_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32ub_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38823,18 +38824,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe018e0, .op = 0x28000000 }, .id = HEX_INS_V6_VL32B_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmem(+)", .il_ops = { - { hex_il_op_v6_vl32b_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38842,18 +38843,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe018e0, .op = 0x28000020 }, .id = HEX_INS_V6_VL32B_CUR_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".cur = vmem(+)", .il_ops = { - { hex_il_op_v6_vl32b_cur_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_cur_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38861,10 +38862,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x288000a0 }, .id = HEX_INS_V6_VL32B_CUR_NPRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -38872,9 +38873,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) .cur = vmem(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_cur_npred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_cur_npred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38882,10 +38883,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x298000a0 }, .id = HEX_INS_V6_VL32B_CUR_NPRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -38893,9 +38894,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) .cur = vmem(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_cur_npred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_cur_npred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38903,10 +38904,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2b8000a0 }, .id = HEX_INS_V6_VL32B_CUR_NPRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -38914,9 +38915,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) .cur = vmem(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_cur_npred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_cur_npred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38924,18 +38925,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe038e0, .op = 0x29000020 }, .id = HEX_INS_V6_VL32B_CUR_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".cur = vmem(++)", .il_ops = { - { hex_il_op_v6_vl32b_cur_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_cur_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38943,18 +38944,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x2b000020 }, .id = HEX_INS_V6_VL32B_CUR_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".cur = vmem(++)", .il_ops = { - { hex_il_op_v6_vl32b_cur_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_cur_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38962,10 +38963,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28800080 }, .id = HEX_INS_V6_VL32B_CUR_PRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -38973,9 +38974,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () .cur = vmem(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_cur_pred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_cur_pred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -38983,10 +38984,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29800080 }, .id = HEX_INS_V6_VL32B_CUR_PRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -38994,9 +38995,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () .cur = vmem(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_cur_pred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_cur_pred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39004,10 +39005,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2b800080 }, .id = HEX_INS_V6_VL32B_CUR_PRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -39015,9 +39016,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () .cur = vmem(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_cur_pred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_cur_pred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39025,10 +39026,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28800060 }, .id = HEX_INS_V6_VL32B_NPRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39036,9 +39037,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) = vmem(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_npred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_npred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39046,10 +39047,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29800060 }, .id = HEX_INS_V6_VL32B_NPRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39057,9 +39058,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) = vmem(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_npred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_npred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39067,10 +39068,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2b800060 }, .id = HEX_INS_V6_VL32B_NPRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39078,9 +39079,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) = vmem(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_npred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_npred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39088,18 +39089,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe018e0, .op = 0x28400000 }, .id = HEX_INS_V6_VL32B_NT_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmem(+):nt", .il_ops = { - { hex_il_op_v6_vl32b_nt_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39107,18 +39108,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe018e0, .op = 0x28400020 }, .id = HEX_INS_V6_VL32B_NT_CUR_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".cur = vmem(+):nt", .il_ops = { - { hex_il_op_v6_vl32b_nt_cur_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_cur_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39126,10 +39127,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28c000a0 }, .id = HEX_INS_V6_VL32B_NT_CUR_NPRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39137,9 +39138,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) .cur = vmem(+):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_cur_npred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_cur_npred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39147,10 +39148,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29c000a0 }, .id = HEX_INS_V6_VL32B_NT_CUR_NPRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39158,9 +39159,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) .cur = vmem(++):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_cur_npred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_cur_npred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39168,10 +39169,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2bc000a0 }, .id = HEX_INS_V6_VL32B_NT_CUR_NPRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39179,9 +39180,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) .cur = vmem(++):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_cur_npred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_cur_npred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39189,18 +39190,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe038e0, .op = 0x29400020 }, .id = HEX_INS_V6_VL32B_NT_CUR_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".cur = vmem(++):nt", .il_ops = { - { hex_il_op_v6_vl32b_nt_cur_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_cur_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39208,18 +39209,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x2b400020 }, .id = HEX_INS_V6_VL32B_NT_CUR_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".cur = vmem(++):nt", .il_ops = { - { hex_il_op_v6_vl32b_nt_cur_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_cur_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39227,10 +39228,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28c00080 }, .id = HEX_INS_V6_VL32B_NT_CUR_PRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -39238,9 +39239,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () .cur = vmem(+):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_cur_pred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_cur_pred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39248,10 +39249,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29c00080 }, .id = HEX_INS_V6_VL32B_NT_CUR_PRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -39259,9 +39260,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () .cur = vmem(++):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_cur_pred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_cur_pred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39269,10 +39270,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2bc00080 }, .id = HEX_INS_V6_VL32B_NT_CUR_PRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -39280,9 +39281,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () .cur = vmem(++):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_cur_pred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_cur_pred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39290,10 +39291,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28c00060 }, .id = HEX_INS_V6_VL32B_NT_NPRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39301,9 +39302,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) = vmem(+):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_npred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_npred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39311,10 +39312,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29c00060 }, .id = HEX_INS_V6_VL32B_NT_NPRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39322,9 +39323,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) = vmem(++):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_npred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_npred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39332,10 +39333,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2bc00060 }, .id = HEX_INS_V6_VL32B_NT_NPRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39343,9 +39344,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) = vmem(++):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_npred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_npred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39353,18 +39354,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe038e0, .op = 0x29400000 }, .id = HEX_INS_V6_VL32B_NT_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmem(++):nt", .il_ops = { - { hex_il_op_v6_vl32b_nt_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39372,18 +39373,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x2b400000 }, .id = HEX_INS_V6_VL32B_NT_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmem(++):nt", .il_ops = { - { hex_il_op_v6_vl32b_nt_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39391,10 +39392,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28c00040 }, .id = HEX_INS_V6_VL32B_NT_PRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -39402,9 +39403,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () = vmem(+):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_pred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_pred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39412,10 +39413,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29c00040 }, .id = HEX_INS_V6_VL32B_NT_PRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -39423,9 +39424,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () = vmem(++):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_pred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_pred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39433,10 +39434,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2bc00040 }, .id = HEX_INS_V6_VL32B_NT_PRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -39444,9 +39445,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () = vmem(++):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_pred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_pred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39454,18 +39455,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe018e0, .op = 0x28400040 }, .id = HEX_INS_V6_VL32B_NT_TMP_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".tmp = vmem(+):nt", .il_ops = { - { hex_il_op_v6_vl32b_nt_tmp_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_tmp_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39473,10 +39474,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28c000e0 }, .id = HEX_INS_V6_VL32B_NT_TMP_NPRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39484,9 +39485,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) .tmp = vmem(+):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_tmp_npred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_tmp_npred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39494,10 +39495,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29c000e0 }, .id = HEX_INS_V6_VL32B_NT_TMP_NPRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39505,9 +39506,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) .tmp = vmem(++):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_tmp_npred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_tmp_npred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39515,10 +39516,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2bc000e0 }, .id = HEX_INS_V6_VL32B_NT_TMP_NPRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39526,9 +39527,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) .tmp = vmem(++):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_tmp_npred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_tmp_npred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39536,18 +39537,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe038e0, .op = 0x29400040 }, .id = HEX_INS_V6_VL32B_NT_TMP_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".tmp = vmem(++):nt", .il_ops = { - { hex_il_op_v6_vl32b_nt_tmp_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_tmp_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39555,18 +39556,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x2b400040 }, .id = HEX_INS_V6_VL32B_NT_TMP_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".tmp = vmem(++):nt", .il_ops = { - { hex_il_op_v6_vl32b_nt_tmp_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_tmp_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39574,10 +39575,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28c000c0 }, .id = HEX_INS_V6_VL32B_NT_TMP_PRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -39585,9 +39586,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () .tmp = vmem(+):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_tmp_pred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_tmp_pred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39595,10 +39596,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29c000c0 }, .id = HEX_INS_V6_VL32B_NT_TMP_PRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -39606,9 +39607,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () .tmp = vmem(++):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_tmp_pred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_tmp_pred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39616,10 +39617,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2bc000c0 }, .id = HEX_INS_V6_VL32B_NT_TMP_PRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -39627,9 +39628,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () .tmp = vmem(++):nt", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_nt_tmp_pred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_nt_tmp_pred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39637,18 +39638,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe038e0, .op = 0x29000000 }, .id = HEX_INS_V6_VL32B_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmem(++)", .il_ops = { - { hex_il_op_v6_vl32b_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39656,18 +39657,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x2b000000 }, .id = HEX_INS_V6_VL32B_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmem(++)", .il_ops = { - { hex_il_op_v6_vl32b_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39675,10 +39676,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28800040 }, .id = HEX_INS_V6_VL32B_PRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -39686,9 +39687,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () = vmem(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_pred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_pred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39696,10 +39697,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29800040 }, .id = HEX_INS_V6_VL32B_PRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -39707,9 +39708,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () = vmem(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_pred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_pred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39717,10 +39718,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2b800040 }, .id = HEX_INS_V6_VL32B_PRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -39728,9 +39729,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () = vmem(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_pred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_pred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39738,18 +39739,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe018e0, .op = 0x28000040 }, .id = HEX_INS_V6_VL32B_TMP_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".tmp = vmem(+)", .il_ops = { - { hex_il_op_v6_vl32b_tmp_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_tmp_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39757,10 +39758,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x288000e0 }, .id = HEX_INS_V6_VL32B_TMP_NPRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39768,9 +39769,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) .tmp = vmem(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_tmp_npred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_tmp_npred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39778,10 +39779,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x298000e0 }, .id = HEX_INS_V6_VL32B_TMP_NPRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39789,9 +39790,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) .tmp = vmem(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_tmp_npred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_tmp_npred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39799,10 +39800,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2b8000e0 }, .id = HEX_INS_V6_VL32B_TMP_NPRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39810,9 +39811,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) .tmp = vmem(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_tmp_npred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_tmp_npred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39820,18 +39821,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe038e0, .op = 0x29000040 }, .id = HEX_INS_V6_VL32B_TMP_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".tmp = vmem(++)", .il_ops = { - { hex_il_op_v6_vl32b_tmp_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_tmp_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39839,18 +39840,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x2b000040 }, .id = HEX_INS_V6_VL32B_TMP_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ".tmp = vmem(++)", .il_ops = { - { hex_il_op_v6_vl32b_tmp_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_tmp_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39858,10 +39859,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x288000c0 }, .id = HEX_INS_V6_VL32B_TMP_PRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -39869,9 +39870,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () .tmp = vmem(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_tmp_pred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_tmp_pred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39879,10 +39880,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x298000c0 }, .id = HEX_INS_V6_VL32B_TMP_PRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -39890,9 +39891,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () .tmp = vmem(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_tmp_pred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_tmp_pred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39900,10 +39901,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2b8000c0 }, .id = HEX_INS_V6_VL32B_TMP_PRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -39911,9 +39912,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () .tmp = vmem(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vl32b_tmp_pred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vl32b_tmp_pred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39921,18 +39922,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe018e0, .op = 0x282000e0 }, .id = HEX_INS_V6_VS32UB_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmemu(+) = ", .il_ops = { - { hex_il_op_v6_vs32ub_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32ub_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39940,10 +39941,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28a000e0 }, .id = HEX_INS_V6_VS32UB_NPRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39951,9 +39952,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) vmemu(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32ub_npred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32ub_npred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39961,10 +39962,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29a000e0 }, .id = HEX_INS_V6_VS32UB_NPRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39972,9 +39973,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) vmemu(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32ub_npred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32ub_npred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -39982,10 +39983,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2ba000e0 }, .id = HEX_INS_V6_VS32UB_NPRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -39993,9 +39994,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) vmemu(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32ub_npred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32ub_npred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40003,18 +40004,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe038e0, .op = 0x292000e0 }, .id = HEX_INS_V6_VS32UB_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmemu(++) = ", .il_ops = { - { hex_il_op_v6_vs32ub_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32ub_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40022,18 +40023,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x2b2000e0 }, .id = HEX_INS_V6_VS32UB_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmemu(++) = ", .il_ops = { - { hex_il_op_v6_vs32ub_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32ub_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40041,10 +40042,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28a000c0 }, .id = HEX_INS_V6_VS32UB_PRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -40052,9 +40053,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () vmemu(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32ub_pred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32ub_pred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40062,10 +40063,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29a000c0 }, .id = HEX_INS_V6_VS32UB_PRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -40073,9 +40074,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () vmemu(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32ub_pred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32ub_pred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40083,10 +40084,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2ba000c0 }, .id = HEX_INS_V6_VS32UB_PRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -40094,9 +40095,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () vmemu(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32ub_pred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32ub_pred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40104,18 +40105,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe018e0, .op = 0x28200000 }, .id = HEX_INS_V6_VS32B_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmem(+) = ", .il_ops = { - { hex_il_op_v6_vs32b_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40123,18 +40124,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe018f8, .op = 0x28200020 }, .id = HEX_INS_V6_VS32B_NEW_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmem(+) = .new", .il_ops = { - { hex_il_op_v6_vs32b_new_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_new_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40142,10 +40143,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000f8, .op = 0x28a00068 }, .id = HEX_INS_V6_VS32B_NEW_NPRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -40153,9 +40154,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) vmem(+) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_new_npred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_new_npred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40163,10 +40164,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020f8, .op = 0x29a00068 }, .id = HEX_INS_V6_VS32B_NEW_NPRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -40174,9 +40175,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) vmem(++) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_new_npred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_new_npred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40184,10 +40185,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007f8, .op = 0x2ba00068 }, .id = HEX_INS_V6_VS32B_NEW_NPRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -40195,9 +40196,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) vmem(++) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_new_npred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_new_npred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40205,18 +40206,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe038f8, .op = 0x29200020 }, .id = HEX_INS_V6_VS32B_NEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmem(++) = .new", .il_ops = { - { hex_il_op_v6_vs32b_new_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_new_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40224,18 +40225,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01ff8, .op = 0x2b200020 }, .id = HEX_INS_V6_VS32B_NEW_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmem(++) = .new", .il_ops = { - { hex_il_op_v6_vs32b_new_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_new_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40243,10 +40244,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000f8, .op = 0x28a00040 }, .id = HEX_INS_V6_VS32B_NEW_PRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -40254,9 +40255,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () vmem(+) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_new_pred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_new_pred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40264,10 +40265,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020f8, .op = 0x29a00040 }, .id = HEX_INS_V6_VS32B_NEW_PRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -40275,9 +40276,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () vmem(++) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_new_pred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_new_pred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40285,10 +40286,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007f8, .op = 0x2ba00040 }, .id = HEX_INS_V6_VS32B_NEW_PRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -40296,9 +40297,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () vmem(++) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_new_pred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_new_pred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40306,10 +40307,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28a00020 }, .id = HEX_INS_V6_VS32B_NPRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -40317,9 +40318,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) vmem(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_npred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_npred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40327,10 +40328,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29a00020 }, .id = HEX_INS_V6_VS32B_NPRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -40338,9 +40339,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) vmem(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_npred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_npred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40348,10 +40349,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2ba00020 }, .id = HEX_INS_V6_VS32B_NPRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -40359,9 +40360,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) vmem(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_npred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_npred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40369,19 +40370,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28800020 }, .id = HEX_INS_V6_VS32B_NQPRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if (!) vmem(+) = ", .il_ops = { - { hex_il_op_v6_vs32b_nqpred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nqpred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40389,19 +40390,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29800020 }, .id = HEX_INS_V6_VS32B_NQPRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if (!) vmem(++) = ", .il_ops = { - { hex_il_op_v6_vs32b_nqpred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nqpred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40409,19 +40410,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2b800020 }, .id = HEX_INS_V6_VS32B_NQPRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if (!) vmem(++) = ", .il_ops = { - { hex_il_op_v6_vs32b_nqpred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nqpred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40429,18 +40430,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe018e0, .op = 0x28600000 }, .id = HEX_INS_V6_VS32B_NT_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmem(+):nt = ", .il_ops = { - { hex_il_op_v6_vs32b_nt_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40448,18 +40449,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe018f8, .op = 0x28600020 }, .id = HEX_INS_V6_VS32B_NT_NEW_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmem(+):nt = .new", .il_ops = { - { hex_il_op_v6_vs32b_nt_new_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_new_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40467,10 +40468,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000f8, .op = 0x28e00078 }, .id = HEX_INS_V6_VS32B_NT_NEW_NPRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -40478,9 +40479,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) vmem(+):nt = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_nt_new_npred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_new_npred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40488,10 +40489,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020f8, .op = 0x29e00078 }, .id = HEX_INS_V6_VS32B_NT_NEW_NPRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -40499,9 +40500,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) vmem(++):nt = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_nt_new_npred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_new_npred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40509,10 +40510,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007f8, .op = 0x2be00078 }, .id = HEX_INS_V6_VS32B_NT_NEW_NPRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -40520,9 +40521,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) vmem(++):nt = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_nt_new_npred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_new_npred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40530,18 +40531,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe038f8, .op = 0x29600020 }, .id = HEX_INS_V6_VS32B_NT_NEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmem(++):nt = .new", .il_ops = { - { hex_il_op_v6_vs32b_nt_new_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_new_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40549,18 +40550,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01ff8, .op = 0x2b600020 }, .id = HEX_INS_V6_VS32B_NT_NEW_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmem(++):nt = .new", .il_ops = { - { hex_il_op_v6_vs32b_nt_new_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_new_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40568,10 +40569,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000f8, .op = 0x28e00050 }, .id = HEX_INS_V6_VS32B_NT_NEW_PRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -40579,9 +40580,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () vmem(+):nt = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_nt_new_pred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_new_pred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40589,10 +40590,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020f8, .op = 0x29e00050 }, .id = HEX_INS_V6_VS32B_NT_NEW_PRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -40600,9 +40601,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () vmem(++):nt = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_nt_new_pred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_new_pred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40610,10 +40611,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007f8, .op = 0x2be00050 }, .id = HEX_INS_V6_VS32B_NT_NEW_PRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -40621,9 +40622,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () vmem(++):nt = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_nt_new_pred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_new_pred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40631,10 +40632,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28e00020 }, .id = HEX_INS_V6_VS32B_NT_NPRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -40642,9 +40643,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) vmem(+):nt = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_nt_npred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_npred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40652,10 +40653,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29e00020 }, .id = HEX_INS_V6_VS32B_NT_NPRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -40663,9 +40664,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) vmem(++):nt = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_nt_npred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_npred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40673,10 +40674,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2be00020 }, .id = HEX_INS_V6_VS32B_NT_NPRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_VEC_FALSE, @@ -40684,9 +40685,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if (!) vmem(++):nt = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_nt_npred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_npred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40694,19 +40695,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28c00020 }, .id = HEX_INS_V6_VS32B_NT_NQPRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if (!) vmem(+):nt = ", .il_ops = { - { hex_il_op_v6_vs32b_nt_nqpred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_nqpred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40714,19 +40715,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29c00020 }, .id = HEX_INS_V6_VS32B_NT_NQPRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if (!) vmem(++):nt = ", .il_ops = { - { hex_il_op_v6_vs32b_nt_nqpred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_nqpred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40734,19 +40735,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2bc00020 }, .id = HEX_INS_V6_VS32B_NT_NQPRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if (!) vmem(++):nt = ", .il_ops = { - { hex_il_op_v6_vs32b_nt_nqpred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_nqpred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40754,18 +40755,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe038e0, .op = 0x29600000 }, .id = HEX_INS_V6_VS32B_NT_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmem(++):nt = ", .il_ops = { - { hex_il_op_v6_vs32b_nt_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40773,18 +40774,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x2b600000 }, .id = HEX_INS_V6_VS32B_NT_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmem(++):nt = ", .il_ops = { - { hex_il_op_v6_vs32b_nt_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40792,10 +40793,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28e00000 }, .id = HEX_INS_V6_VS32B_NT_PRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -40803,9 +40804,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () vmem(+):nt = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_nt_pred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_pred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40813,10 +40814,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29e00000 }, .id = HEX_INS_V6_VS32B_NT_PRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -40824,9 +40825,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () vmem(++):nt = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_nt_pred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_pred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40834,10 +40835,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2be00000 }, .id = HEX_INS_V6_VS32B_NT_PRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -40845,9 +40846,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () vmem(++):nt = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_nt_pred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_pred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40855,19 +40856,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28c00000 }, .id = HEX_INS_V6_VS32B_NT_QPRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () vmem(+):nt = ", .il_ops = { - { hex_il_op_v6_vs32b_nt_qpred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_qpred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40875,19 +40876,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29c00000 }, .id = HEX_INS_V6_VS32B_NT_QPRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () vmem(++):nt = ", .il_ops = { - { hex_il_op_v6_vs32b_nt_qpred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_qpred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40895,19 +40896,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2bc00000 }, .id = HEX_INS_V6_VS32B_NT_QPRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () vmem(++):nt = ", .il_ops = { - { hex_il_op_v6_vs32b_nt_qpred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_nt_qpred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40915,18 +40916,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe038e0, .op = 0x29200000 }, .id = HEX_INS_V6_VS32B_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmem(++) = ", .il_ops = { - { hex_il_op_v6_vs32b_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40934,18 +40935,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x2b200000 }, .id = HEX_INS_V6_VS32B_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmem(++) = ", .il_ops = { - { hex_il_op_v6_vs32b_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40953,10 +40954,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28a00000 }, .id = HEX_INS_V6_VS32B_PRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -40964,9 +40965,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () vmem(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_pred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_pred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40974,10 +40975,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29a00000 }, .id = HEX_INS_V6_VS32B_PRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -40985,9 +40986,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () vmem(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_pred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_pred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -40995,10 +40996,10 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2ba00000 }, .id = HEX_INS_V6_VS32B_PRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -41006,9 +41007,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () vmem(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_vs32b_pred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_pred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41016,19 +41017,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x28800000 }, .id = HEX_INS_V6_VS32B_QPRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () vmem(+) = ", .il_ops = { - { hex_il_op_v6_vs32b_qpred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_qpred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41036,19 +41037,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020e0, .op = 0x29800000 }, .id = HEX_INS_V6_VS32B_QPRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () vmem(++) = ", .il_ops = { - { hex_il_op_v6_vs32b_qpred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_qpred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41056,19 +41057,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007e0, .op = 0x2b800000 }, .id = HEX_INS_V6_VS32B_QPRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () vmem(++) = ", .il_ops = { - { hex_il_op_v6_vs32b_qpred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_qpred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41076,17 +41077,17 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe018ff, .op = 0x28200028 }, .id = HEX_INS_V6_VS32B_SRLS_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 6 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmem(+):scatter_release", .il_ops = { - { hex_il_op_v6_vs32b_srls_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_srls_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41094,17 +41095,17 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe038ff, .op = 0x29200028 }, .id = HEX_INS_V6_VS32B_SRLS_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmem(++):scatter_release", .il_ops = { - { hex_il_op_v6_vs32b_srls_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_srls_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41112,17 +41113,17 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01fff, .op = 0x2b200028 }, .id = HEX_INS_V6_VS32B_SRLS_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vmem(++):scatter_release", .il_ops = { - { hex_il_op_v6_vs32b_srls_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vs32b_srls_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41130,18 +41131,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x2f000100 }, .id = HEX_INS_V6_VGATHERMH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "VTMP.h = vgather(,,.h).h", .il_ops = { - { hex_il_op_v6_vgathermh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgathermh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41149,19 +41150,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01f80, .op = 0x2f000500 }, .id = HEX_INS_V6_VGATHERMHQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 's', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () VTMP.h = vgather(,,.h).h", .il_ops = { - { hex_il_op_v6_vgathermhq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgathermhq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41169,18 +41170,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x2f000200 }, .id = HEX_INS_V6_VGATHERMHW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "VTMP.h = vgather(,,.w).h", .il_ops = { - { hex_il_op_v6_vgathermhw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgathermhw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41188,19 +41189,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01f80, .op = 0x2f000600 }, .id = HEX_INS_V6_VGATHERMHWQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 's', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () VTMP.h = vgather(,,.w).h", .il_ops = { - { hex_il_op_v6_vgathermhwq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgathermhwq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41208,18 +41209,18 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x2f000000 }, .id = HEX_INS_V6_VGATHERMW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "VTMP.w = vgather(,,.w).w", .il_ops = { - { hex_il_op_v6_vgathermw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgathermw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41227,19 +41228,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01f80, .op = 0x2f000400 }, .id = HEX_INS_V6_VGATHERMWQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 23 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 24 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 's', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () VTMP.w = vgather(,,.w).w", .il_ops = { - { hex_il_op_v6_vgathermwq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vgathermwq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41247,19 +41248,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x2f200020 }, .id = HEX_INS_V6_VSCATTERMH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'w', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vscatter(,,.h).h = ", .il_ops = { - { hex_il_op_v6_vscattermh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vscattermh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41267,19 +41268,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x2f2000a0 }, .id = HEX_INS_V6_VSCATTERMH_ADD, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'w', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vscatter(,,.h).h += ", .il_ops = { - { hex_il_op_v6_vscattermh_add, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vscattermh_add, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41287,20 +41288,20 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe00080, .op = 0x2f800080 }, .id = HEX_INS_V6_VSCATTERMHQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 's', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'w', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () vscatter(,,.h).h = ", .il_ops = { - { hex_il_op_v6_vscattermhq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vscattermhq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41308,19 +41309,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x2f200040 }, .id = HEX_INS_V6_VSCATTERMHW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'w', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vscatter(,,.w).h = ", .il_ops = { - { hex_il_op_v6_vscattermhw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vscattermhw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41328,19 +41329,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x2f2000c0 }, .id = HEX_INS_V6_VSCATTERMHW_ADD, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'w', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vscatter(,,.w).h += ", .il_ops = { - { hex_il_op_v6_vscattermhw_add, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vscattermhw_add, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41348,20 +41349,20 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe00080, .op = 0x2fa00000 }, .id = HEX_INS_V6_VSCATTERMHWQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 's', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_WR, .isa_id = 'v', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'w', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () vscatter(,,.w).h = ", .il_ops = { - { hex_il_op_v6_vscattermhwq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vscattermhwq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41369,19 +41370,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x2f200000 }, .id = HEX_INS_V6_VSCATTERMW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'w', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vscatter(,,.w).w = ", .il_ops = { - { hex_il_op_v6_vscattermw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vscattermw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41389,19 +41390,19 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000e0, .op = 0x2f200080 }, .id = HEX_INS_V6_VSCATTERMW_ADD, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'w', .syntax = 20 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "vscatter(,,.w).w += ", .il_ops = { - { hex_il_op_v6_vscattermw_add, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vscattermw_add, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41409,20 +41410,20 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe00080, .op = 0x2f800000 }, .id = HEX_INS_V6_VSCATTERMWQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_HVX_QR, .isa_id = 's', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'v', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'w', .syntax = 25 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "if () vscatter(,,.w).w = ", .il_ops = { - { hex_il_op_v6_vscattermwq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_vscattermwq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41430,17 +41431,17 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe018ff, .op = 0x2c000000 }, .id = HEX_INS_V6_ZLD_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "z = vmem(+)", .il_ops = { - { hex_il_op_v6_zld_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_zld_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41448,17 +41449,17 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe038ff, .op = 0x2d000000 }, .id = HEX_INS_V6_ZLD_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "z = vmem(++)", .il_ops = { - { hex_il_op_v6_zld_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_zld_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41466,17 +41467,17 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe01fff, .op = 0x2d000001 }, .id = HEX_INS_V6_ZLD_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "z = vmem(++)", .il_ops = { - { hex_il_op_v6_zld_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_zld_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41484,9 +41485,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe000ff, .op = 0x2c800000 }, .id = HEX_INS_V6_ZLD_PRED_AI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 }, { 0x1, 13 } }, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -41494,9 +41495,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () z = vmem(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_zld_pred_ai, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_zld_pred_ai, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41504,9 +41505,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe020ff, .op = 0x2d800000 }, .id = HEX_INS_V6_ZLD_PRED_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 8 } }, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -41514,9 +41515,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () z = vmem(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_zld_pred_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_zld_pred_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41524,9 +41525,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .encoding = { .mask = 0xffe007ff, .op = 0x2d800001 }, .id = HEX_INS_V6_ZLD_PRED_PPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_VEC_TRUE, @@ -41534,9 +41535,9 @@ static const HexInsnTemplate templates_normal_0x2[] = { .syntax = "if () z = vmem(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_v6_zld_pred_ppu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_zld_pred_ppu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -41548,18 +41549,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3e000000 }, .id = HEX_INS_L4_ADD_MEMOPB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) += ", .il_ops = { - { hex_il_op_l4_add_memopb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_add_memopb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41567,18 +41568,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3e200000 }, .id = HEX_INS_L4_ADD_MEMOPH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) += ", .il_ops = { - { hex_il_op_l4_add_memoph_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_add_memoph_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41586,18 +41587,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3e400000 }, .id = HEX_INS_L4_ADD_MEMOPW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) += ", .il_ops = { - { hex_il_op_l4_add_memopw_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_add_memopw_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41605,18 +41606,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3e000040 }, .id = HEX_INS_L4_AND_MEMOPB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) &= ", .il_ops = { - { hex_il_op_l4_and_memopb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_and_memopb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41624,18 +41625,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3e200040 }, .id = HEX_INS_L4_AND_MEMOPH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) &= ", .il_ops = { - { hex_il_op_l4_and_memoph_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_and_memoph_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41643,18 +41644,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3e400040 }, .id = HEX_INS_L4_AND_MEMOPW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) &= ", .il_ops = { - { hex_il_op_l4_and_memopw_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_and_memopw_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41662,18 +41663,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3f000000 }, .id = HEX_INS_L4_IADD_MEMOPB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .isa_id = 'U', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) += ", .il_ops = { - { hex_il_op_l4_iadd_memopb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_iadd_memopb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41681,18 +41682,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3f200000 }, .id = HEX_INS_L4_IADD_MEMOPH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .isa_id = 'U', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) += ", .il_ops = { - { hex_il_op_l4_iadd_memoph_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_iadd_memoph_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41700,18 +41701,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3f400000 }, .id = HEX_INS_L4_IADD_MEMOPW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .isa_id = 'U', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) += ", .il_ops = { - { hex_il_op_l4_iadd_memopw_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_iadd_memopw_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41719,18 +41720,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3f000040 }, .id = HEX_INS_L4_IAND_MEMOPB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .isa_id = 'U', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = clrbit()", .il_ops = { - { hex_il_op_l4_iand_memopb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_iand_memopb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41738,18 +41739,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3f200040 }, .id = HEX_INS_L4_IAND_MEMOPH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .isa_id = 'U', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) = clrbit()", .il_ops = { - { hex_il_op_l4_iand_memoph_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_iand_memoph_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41757,18 +41758,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3f400040 }, .id = HEX_INS_L4_IAND_MEMOPW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .isa_id = 'U', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = clrbit()", .il_ops = { - { hex_il_op_l4_iand_memopw_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_iand_memopw_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41776,18 +41777,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3f000060 }, .id = HEX_INS_L4_IOR_MEMOPB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .isa_id = 'U', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = setbit()", .il_ops = { - { hex_il_op_l4_ior_memopb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ior_memopb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41795,18 +41796,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3f200060 }, .id = HEX_INS_L4_IOR_MEMOPH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .isa_id = 'U', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) = setbit()", .il_ops = { - { hex_il_op_l4_ior_memoph_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ior_memoph_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41814,18 +41815,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3f400060 }, .id = HEX_INS_L4_IOR_MEMOPW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .isa_id = 'U', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = setbit()", .il_ops = { - { hex_il_op_l4_ior_memopw_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ior_memopw_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41833,18 +41834,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3f000020 }, .id = HEX_INS_L4_ISUB_MEMOPB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .isa_id = 'U', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) -= ", .il_ops = { - { hex_il_op_l4_isub_memopb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_isub_memopb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41852,18 +41853,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3f200020 }, .id = HEX_INS_L4_ISUB_MEMOPH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .isa_id = 'U', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) -= ", .il_ops = { - { hex_il_op_l4_isub_memoph_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_isub_memoph_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41871,18 +41872,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3f400020 }, .id = HEX_INS_L4_ISUB_MEMOPW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 } }, .isa_id = 'U', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) -= ", .il_ops = { - { hex_il_op_l4_isub_memopw_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_isub_memopw_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41890,19 +41891,19 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00060, .op = 0x3a000000 }, .id = HEX_INS_L4_LOADRB_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(+<<)", .il_ops = { - { hex_il_op_l4_loadrb_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadrb_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41910,19 +41911,19 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00060, .op = 0x3ac00000 }, .id = HEX_INS_L4_LOADRD_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(+<<)", .il_ops = { - { hex_il_op_l4_loadrd_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadrd_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41930,19 +41931,19 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00060, .op = 0x3a400000 }, .id = HEX_INS_L4_LOADRH_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+<<)", .il_ops = { - { hex_il_op_l4_loadrh_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadrh_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41950,19 +41951,19 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00060, .op = 0x3a800000 }, .id = HEX_INS_L4_LOADRI_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+<<)", .il_ops = { - { hex_il_op_l4_loadri_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadri_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41970,19 +41971,19 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00060, .op = 0x3a200000 }, .id = HEX_INS_L4_LOADRUB_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+<<)", .il_ops = { - { hex_il_op_l4_loadrub_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadrub_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -41990,19 +41991,19 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00060, .op = 0x3a600000 }, .id = HEX_INS_L4_LOADRUH_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+<<)", .il_ops = { - { hex_il_op_l4_loadruh_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadruh_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42010,18 +42011,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3e000060 }, .id = HEX_INS_L4_OR_MEMOPB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) |= ", .il_ops = { - { hex_il_op_l4_or_memopb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_or_memopb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42029,18 +42030,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3e200060 }, .id = HEX_INS_L4_OR_MEMOPH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) |= ", .il_ops = { - { hex_il_op_l4_or_memoph_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_or_memoph_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42048,18 +42049,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3e400060 }, .id = HEX_INS_L4_OR_MEMOPW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) |= ", .il_ops = { - { hex_il_op_l4_or_memopw_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_or_memopw_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42067,11 +42068,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x31000000 }, .id = HEX_INS_L4_PLOADRBF_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42079,9 +42080,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) = memb(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrbf_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrbf_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42089,11 +42090,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x33000000 }, .id = HEX_INS_L4_PLOADRBFNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42101,9 +42102,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) = memb(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrbfnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrbfnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42111,11 +42112,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x30000000 }, .id = HEX_INS_L4_PLOADRBT_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42123,9 +42124,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () = memb(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrbt_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrbt_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42133,11 +42134,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x32000000 }, .id = HEX_INS_L4_PLOADRBTNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42145,9 +42146,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) = memb(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrbtnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrbtnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42155,11 +42156,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x31c00000 }, .id = HEX_INS_L4_PLOADRDF_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42167,9 +42168,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) = memd(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrdf_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrdf_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42177,11 +42178,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x33c00000 }, .id = HEX_INS_L4_PLOADRDFNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42189,9 +42190,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) = memd(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrdfnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrdfnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42199,11 +42200,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x30c00000 }, .id = HEX_INS_L4_PLOADRDT_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42211,9 +42212,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () = memd(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrdt_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrdt_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42221,11 +42222,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x32c00000 }, .id = HEX_INS_L4_PLOADRDTNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42233,9 +42234,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) = memd(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrdtnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrdtnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42243,11 +42244,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x31400000 }, .id = HEX_INS_L4_PLOADRHF_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42255,9 +42256,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) = memh(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrhf_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrhf_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42265,11 +42266,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x33400000 }, .id = HEX_INS_L4_PLOADRHFNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42277,9 +42278,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) = memh(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrhfnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrhfnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42287,11 +42288,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x30400000 }, .id = HEX_INS_L4_PLOADRHT_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42299,9 +42300,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () = memh(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrht_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrht_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42309,11 +42310,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x32400000 }, .id = HEX_INS_L4_PLOADRHTNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42321,9 +42322,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) = memh(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrhtnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrhtnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42331,11 +42332,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x31800000 }, .id = HEX_INS_L4_PLOADRIF_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42343,9 +42344,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) = memw(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrif_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrif_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42353,11 +42354,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x33800000 }, .id = HEX_INS_L4_PLOADRIFNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42365,9 +42366,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) = memw(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrifnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrifnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42375,11 +42376,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x30800000 }, .id = HEX_INS_L4_PLOADRIT_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42387,9 +42388,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () = memw(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrit_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrit_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42397,11 +42398,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x32800000 }, .id = HEX_INS_L4_PLOADRITNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42409,9 +42410,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) = memw(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadritnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadritnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42419,11 +42420,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x31200000 }, .id = HEX_INS_L4_PLOADRUBF_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42431,9 +42432,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) = memub(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrubf_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrubf_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42441,11 +42442,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x33200000 }, .id = HEX_INS_L4_PLOADRUBFNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 23 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42453,9 +42454,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) = memub(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrubfnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrubfnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42463,11 +42464,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x30200000 }, .id = HEX_INS_L4_PLOADRUBT_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42475,9 +42476,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () = memub(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrubt_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrubt_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42485,11 +42486,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x32200000 }, .id = HEX_INS_L4_PLOADRUBTNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42497,9 +42498,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) = memub(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrubtnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrubtnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42507,11 +42508,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x31600000 }, .id = HEX_INS_L4_PLOADRUHF_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42519,9 +42520,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) = memuh(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadruhf_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadruhf_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42529,11 +42530,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x33600000 }, .id = HEX_INS_L4_PLOADRUHFNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 23 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42541,9 +42542,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) = memuh(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadruhfnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadruhfnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42551,11 +42552,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x30600000 }, .id = HEX_INS_L4_PLOADRUHT_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42563,9 +42564,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () = memuh(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadruht_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadruht_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42573,11 +42574,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x32600000 }, .id = HEX_INS_L4_PLOADRUHTNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42585,9 +42586,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) = memuh(+<<)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadruhtnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadruhtnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42595,18 +42596,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3e000020 }, .id = HEX_INS_L4_SUB_MEMOPB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) -= ", .il_ops = { - { hex_il_op_l4_sub_memopb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_sub_memopb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42614,18 +42615,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3e200020 }, .id = HEX_INS_L4_SUB_MEMOPH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) -= ", .il_ops = { - { hex_il_op_l4_sub_memoph_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_sub_memoph_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42633,18 +42634,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe02060, .op = 0x3e400020 }, .id = HEX_INS_L4_SUB_MEMOPW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) -= ", .il_ops = { - { hex_il_op_l4_sub_memopw_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_sub_memopw_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42652,11 +42653,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x35000000 }, .id = HEX_INS_S4_PSTORERBF_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42664,9 +42665,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) memb(+<<) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbf_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbf_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42674,11 +42675,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x37000000 }, .id = HEX_INS_S4_PSTORERBFNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42686,9 +42687,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) memb(+<<) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbfnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbfnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42696,11 +42697,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00018, .op = 0x35a00000 }, .id = HEX_INS_S4_PSTORERBNEWF_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42708,9 +42709,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) memb(+<<) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbnewf_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbnewf_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42718,11 +42719,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00018, .op = 0x37a00000 }, .id = HEX_INS_S4_PSTORERBNEWFNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42730,9 +42731,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) memb(+<<) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbnewfnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbnewfnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42740,11 +42741,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00018, .op = 0x34a00000 }, .id = HEX_INS_S4_PSTORERBNEWT_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42752,9 +42753,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () memb(+<<) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbnewt_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbnewt_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42762,11 +42763,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00018, .op = 0x36a00000 }, .id = HEX_INS_S4_PSTORERBNEWTNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42774,9 +42775,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) memb(+<<) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbnewtnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbnewtnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42784,11 +42785,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x34000000 }, .id = HEX_INS_S4_PSTORERBT_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42796,9 +42797,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () memb(+<<) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbt_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbt_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42806,11 +42807,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x36000000 }, .id = HEX_INS_S4_PSTORERBTNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42818,9 +42819,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) memb(+<<) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbtnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbtnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42828,11 +42829,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x35c00000 }, .id = HEX_INS_S4_PSTORERDF_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42840,9 +42841,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) memd(+<<) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerdf_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerdf_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42850,11 +42851,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x37c00000 }, .id = HEX_INS_S4_PSTORERDFNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42862,9 +42863,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) memd(+<<) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerdfnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerdfnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42872,11 +42873,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x34c00000 }, .id = HEX_INS_S4_PSTORERDT_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42884,9 +42885,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () memd(+<<) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerdt_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerdt_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42894,11 +42895,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x36c00000 }, .id = HEX_INS_S4_PSTORERDTNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42906,9 +42907,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) memd(+<<) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerdtnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerdtnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42916,11 +42917,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x35600000 }, .id = HEX_INS_S4_PSTORERFF_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42928,9 +42929,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) memh(+<<) = .h", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerff_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerff_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42938,11 +42939,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x37600000 }, .id = HEX_INS_S4_PSTORERFFNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -42950,9 +42951,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) memh(+<<) = .h", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerffnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerffnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42960,11 +42961,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x34600000 }, .id = HEX_INS_S4_PSTORERFT_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42972,9 +42973,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () memh(+<<) = .h", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerft_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerft_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -42982,11 +42983,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x36600000 }, .id = HEX_INS_S4_PSTORERFTNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -42994,9 +42995,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) memh(+<<) = .h", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerftnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerftnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43004,11 +43005,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x35400000 }, .id = HEX_INS_S4_PSTORERHF_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -43016,9 +43017,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) memh(+<<) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhf_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhf_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43026,11 +43027,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x37400000 }, .id = HEX_INS_S4_PSTORERHFNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -43038,9 +43039,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) memh(+<<) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhfnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhfnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43048,11 +43049,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00018, .op = 0x35a00008 }, .id = HEX_INS_S4_PSTORERHNEWF_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -43060,9 +43061,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) memh(+<<) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhnewf_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhnewf_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43070,11 +43071,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00018, .op = 0x37a00008 }, .id = HEX_INS_S4_PSTORERHNEWFNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -43082,9 +43083,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) memh(+<<) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhnewfnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhnewfnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43092,11 +43093,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00018, .op = 0x34a00008 }, .id = HEX_INS_S4_PSTORERHNEWT_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -43104,9 +43105,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () memh(+<<) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhnewt_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhnewt_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43114,11 +43115,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00018, .op = 0x36a00008 }, .id = HEX_INS_S4_PSTORERHNEWTNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -43126,9 +43127,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) memh(+<<) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhnewtnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhnewtnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43136,11 +43137,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x34400000 }, .id = HEX_INS_S4_PSTORERHT_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -43148,9 +43149,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () memh(+<<) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerht_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerht_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43158,11 +43159,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x36400000 }, .id = HEX_INS_S4_PSTORERHTNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -43170,9 +43171,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) memh(+<<) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhtnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhtnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43180,11 +43181,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x35800000 }, .id = HEX_INS_S4_PSTORERIF_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -43192,9 +43193,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) memw(+<<) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerif_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerif_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43202,11 +43203,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x37800000 }, .id = HEX_INS_S4_PSTORERIFNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -43214,9 +43215,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) memw(+<<) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerifnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerifnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43224,11 +43225,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00018, .op = 0x35a00010 }, .id = HEX_INS_S4_PSTORERINEWF_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -43236,9 +43237,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) memw(+<<) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerinewf_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerinewf_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43246,11 +43247,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00018, .op = 0x37a00010 }, .id = HEX_INS_S4_PSTORERINEWFNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -43258,9 +43259,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) memw(+<<) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerinewfnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerinewfnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43268,11 +43269,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00018, .op = 0x34a00010 }, .id = HEX_INS_S4_PSTORERINEWT_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -43280,9 +43281,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () memw(+<<) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerinewt_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerinewt_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43290,11 +43291,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00018, .op = 0x36a00010 }, .id = HEX_INS_S4_PSTORERINEWTNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -43302,9 +43303,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) memw(+<<) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerinewtnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerinewtnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43312,11 +43313,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x34800000 }, .id = HEX_INS_S4_PSTORERIT_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -43324,9 +43325,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () memw(+<<) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerit_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerit_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43334,11 +43335,11 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x36800000 }, .id = HEX_INS_S4_PSTORERITNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -43346,9 +43347,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) memw(+<<) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstoreritnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstoreritnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43356,18 +43357,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x3c000000 }, .id = HEX_INS_S4_STOREIRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 0 }, { 0x1, 13 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 0 }, { 0x1, 13 } }, .isa_id = 'S', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = ", .il_ops = { - { hex_il_op_s4_storeirb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeirb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43375,10 +43376,10 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x38800000 }, .id = HEX_INS_S4_STOREIRBF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .isa_id = 'S', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -43386,9 +43387,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) memb(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_storeirbf_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeirbf_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43396,10 +43397,10 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x39800000 }, .id = HEX_INS_S4_STOREIRBFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .isa_id = 'u', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .isa_id = 'S', .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -43407,9 +43408,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) memb(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_storeirbfnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeirbfnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43417,10 +43418,10 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x38000000 }, .id = HEX_INS_S4_STOREIRBT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .isa_id = 'S', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -43428,9 +43429,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () memb(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_storeirbt_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeirbt_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43438,10 +43439,10 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x39000000 }, .id = HEX_INS_S4_STOREIRBTNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .isa_id = 'S', .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -43449,9 +43450,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) memb(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_storeirbtnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeirbtnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43459,18 +43460,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x3c200000 }, .id = HEX_INS_S4_STOREIRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 0 }, { 0x1, 13 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 0 }, { 0x1, 13 } }, .isa_id = 'S', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) = ", .il_ops = { - { hex_il_op_s4_storeirh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeirh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43478,10 +43479,10 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x38a00000 }, .id = HEX_INS_S4_STOREIRHF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .imm_scale = 1, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .isa_id = 'S', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -43489,9 +43490,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) memh(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_storeirhf_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeirhf_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43499,10 +43500,10 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x39a00000 }, .id = HEX_INS_S4_STOREIRHFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .imm_scale = 1, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .isa_id = 'S', .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -43510,9 +43511,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) memh(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_storeirhfnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeirhfnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43520,10 +43521,10 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x38200000 }, .id = HEX_INS_S4_STOREIRHT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .imm_scale = 1, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .isa_id = 'S', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -43531,9 +43532,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () memh(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_storeirht_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeirht_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43541,10 +43542,10 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x39200000 }, .id = HEX_INS_S4_STOREIRHTNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .imm_scale = 1, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .isa_id = 'S', .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -43552,9 +43553,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) memh(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_storeirhtnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeirhtnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43562,18 +43563,18 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x3c400000 }, .id = HEX_INS_S4_STOREIRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 0 }, { 0x1, 13 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 0 }, { 0x1, 13 } }, .isa_id = 'S', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = ", .il_ops = { - { hex_il_op_s4_storeiri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeiri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43581,10 +43582,10 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x38c00000 }, .id = HEX_INS_S4_STOREIRIF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .imm_scale = 2, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .isa_id = 'S', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -43592,9 +43593,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!) memw(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_storeirif_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeirif_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43602,10 +43603,10 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x39c00000 }, .id = HEX_INS_S4_STOREIRIFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .imm_scale = 2, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .isa_id = 'S', .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -43613,9 +43614,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (!.new) memw(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_storeirifnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeirifnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43623,10 +43624,10 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x38400000 }, .id = HEX_INS_S4_STOREIRIT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .isa_id = 'S', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -43634,9 +43635,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if () memw(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_storeirit_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeirit_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43644,10 +43645,10 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00000, .op = 0x39400000 }, .id = HEX_INS_S4_STOREIRITNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .imm_scale = 2, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 7 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 0 }, { 0x1, 13 } }, .isa_id = 'S', .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -43655,9 +43656,9 @@ static const HexInsnTemplate templates_normal_0x3[] = { .syntax = "if (.new) memw(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_storeiritnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeiritnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43665,19 +43666,19 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00060, .op = 0x3b000000 }, .id = HEX_INS_S4_STORERB_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+<<) = ", .il_ops = { - { hex_il_op_s4_storerb_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerb_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43685,19 +43686,19 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00078, .op = 0x3ba00000 }, .id = HEX_INS_S4_STORERBNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+<<) = .new", .il_ops = { - { hex_il_op_s4_storerbnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerbnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43705,19 +43706,19 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00060, .op = 0x3bc00000 }, .id = HEX_INS_S4_STORERD_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd(+<<) = ", .il_ops = { - { hex_il_op_s4_storerd_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerd_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43725,19 +43726,19 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00060, .op = 0x3b600000 }, .id = HEX_INS_S4_STORERF_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+<<) = .h", .il_ops = { - { hex_il_op_s4_storerf_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerf_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43745,19 +43746,19 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00060, .op = 0x3b400000 }, .id = HEX_INS_S4_STORERH_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+<<) = ", .il_ops = { - { hex_il_op_s4_storerh_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerh_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43765,19 +43766,19 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00078, .op = 0x3ba00008 }, .id = HEX_INS_S4_STORERHNEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+<<) = .new", .il_ops = { - { hex_il_op_s4_storerhnew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerhnew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43785,19 +43786,19 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00060, .op = 0x3b800000 }, .id = HEX_INS_S4_STORERI_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+<<) = ", .il_ops = { - { hex_il_op_s4_storeri_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeri_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43805,19 +43806,19 @@ static const HexInsnTemplate templates_normal_0x3[] = { .encoding = { .mask = 0xffe00078, .op = 0x3ba00010 }, .id = HEX_INS_S4_STORERINEW_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+<<) = .new", .il_ops = { - { hex_il_op_s4_storerinew_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerinew_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -43829,17 +43830,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x49000000 }, .id = HEX_INS_L2_LOADRBGP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(GP+)", .il_ops = { - { hex_il_op_l2_loadrbgp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrbgp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43847,17 +43848,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x49c00000 }, .id = HEX_INS_L2_LOADRDGP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 3, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(GP+)", .il_ops = { - { hex_il_op_l2_loadrdgp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrdgp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43865,17 +43866,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x49400000 }, .id = HEX_INS_L2_LOADRHGP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(GP+)", .il_ops = { - { hex_il_op_l2_loadrhgp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrhgp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43883,17 +43884,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x49800000 }, .id = HEX_INS_L2_LOADRIGP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(GP+)", .il_ops = { - { hex_il_op_l2_loadrigp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrigp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43901,17 +43902,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x49200000 }, .id = HEX_INS_L2_LOADRUBGP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(GP+)", .il_ops = { - { hex_il_op_l2_loadrubgp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrubgp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43919,17 +43920,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x49600000 }, .id = HEX_INS_L2_LOADRUHGP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(GP+)", .il_ops = { - { hex_il_op_l2_loadruhgp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadruhgp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43937,10 +43938,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x45000000 }, .id = HEX_INS_L2_PLOADRBF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -43948,9 +43949,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!) = memb(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrbf_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrbf_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43958,10 +43959,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x47000000 }, .id = HEX_INS_L2_PLOADRBFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -43969,9 +43970,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!.new) = memb(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrbfnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrbfnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -43979,10 +43980,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x41000000 }, .id = HEX_INS_L2_PLOADRBT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -43990,9 +43991,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if () = memb(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrbt_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrbt_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44000,10 +44001,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x43000000 }, .id = HEX_INS_L2_PLOADRBTNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44011,9 +44012,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (.new) = memb(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrbtnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrbtnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44021,10 +44022,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x45c00000 }, .id = HEX_INS_L2_PLOADRDF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .imm_scale = 3, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44032,9 +44033,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!) = memd(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrdf_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrdf_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44042,10 +44043,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x47c00000 }, .id = HEX_INS_L2_PLOADRDFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .imm_scale = 3, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 20 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44053,9 +44054,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!.new) = memd(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrdfnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrdfnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44063,10 +44064,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x41c00000 }, .id = HEX_INS_L2_PLOADRDT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .imm_scale = 3, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44074,9 +44075,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if () = memd(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrdt_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrdt_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44084,10 +44085,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x43c00000 }, .id = HEX_INS_L2_PLOADRDTNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .imm_scale = 3, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 19 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44095,9 +44096,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (.new) = memd(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrdtnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrdtnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44105,10 +44106,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x45400000 }, .id = HEX_INS_L2_PLOADRHF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .imm_scale = 1, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44116,9 +44117,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!) = memh(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrhf_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrhf_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44126,10 +44127,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x47400000 }, .id = HEX_INS_L2_PLOADRHFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .imm_scale = 1, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 20 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44137,9 +44138,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!.new) = memh(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrhfnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrhfnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44147,10 +44148,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x41400000 }, .id = HEX_INS_L2_PLOADRHT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .imm_scale = 1, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44158,9 +44159,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if () = memh(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrht_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrht_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44168,10 +44169,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x43400000 }, .id = HEX_INS_L2_PLOADRHTNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .imm_scale = 1, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 19 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44179,9 +44180,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (.new) = memh(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrhtnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrhtnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44189,10 +44190,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x45800000 }, .id = HEX_INS_L2_PLOADRIF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .imm_scale = 2, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44200,9 +44201,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!) = memw(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrif_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrif_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44210,10 +44211,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x47800000 }, .id = HEX_INS_L2_PLOADRIFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .imm_scale = 2, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 20 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44221,9 +44222,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!.new) = memw(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrifnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrifnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44231,10 +44232,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x41800000 }, .id = HEX_INS_L2_PLOADRIT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .imm_scale = 2, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44242,9 +44243,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if () = memw(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrit_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrit_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44252,10 +44253,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x43800000 }, .id = HEX_INS_L2_PLOADRITNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 19 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44263,9 +44264,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (.new) = memw(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadritnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadritnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44273,10 +44274,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x45200000 }, .id = HEX_INS_L2_PLOADRUBF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44284,9 +44285,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!) = memub(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrubf_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrubf_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44294,10 +44295,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x47200000 }, .id = HEX_INS_L2_PLOADRUBFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44305,9 +44306,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!.new) = memub(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrubfnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrubfnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44315,10 +44316,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x41200000 }, .id = HEX_INS_L2_PLOADRUBT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44326,9 +44327,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if () = memub(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrubt_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrubt_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44336,10 +44337,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x43200000 }, .id = HEX_INS_L2_PLOADRUBTNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44347,9 +44348,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (.new) = memub(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrubtnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrubtnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44357,10 +44358,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x45600000 }, .id = HEX_INS_L2_PLOADRUHF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .imm_scale = 1, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44368,9 +44369,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!) = memuh(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadruhf_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadruhf_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44378,10 +44379,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x47600000 }, .id = HEX_INS_L2_PLOADRUHFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .imm_scale = 1, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44389,9 +44390,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!.new) = memuh(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadruhfnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadruhfnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44399,10 +44400,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x41600000 }, .id = HEX_INS_L2_PLOADRUHT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .imm_scale = 1, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44410,9 +44411,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if () = memuh(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadruht_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadruht_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44420,10 +44421,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe02000, .op = 0x43600000 }, .id = HEX_INS_L2_PLOADRUHTNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .imm_scale = 1, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 11 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 5 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44431,9 +44432,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (.new) = memuh(+)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadruhtnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadruhtnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44441,17 +44442,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x49000000 }, .id = HEX_INS_PS_LOADRBABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb()", .il_ops = { - { hex_il_op_ps_loadrbabs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_ps_loadrbabs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44459,17 +44460,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x49c00000 }, .id = HEX_INS_PS_LOADRDABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 3, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd()", .il_ops = { - { hex_il_op_ps_loadrdabs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_ps_loadrdabs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44477,17 +44478,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x49400000 }, .id = HEX_INS_PS_LOADRHABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh()", .il_ops = { - { hex_il_op_ps_loadrhabs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_ps_loadrhabs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44495,17 +44496,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x49800000 }, .id = HEX_INS_PS_LOADRIABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 2, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw()", .il_ops = { - { hex_il_op_ps_loadriabs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_ps_loadriabs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44513,17 +44514,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x49200000 }, .id = HEX_INS_PS_LOADRUBABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub()", .il_ops = { - { hex_il_op_ps_loadrubabs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_ps_loadrubabs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44531,17 +44532,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x49600000 }, .id = HEX_INS_PS_LOADRUHABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh()", .il_ops = { - { hex_il_op_ps_loadruhabs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_ps_loadruhabs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44549,17 +44550,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x48000000 }, .id = HEX_INS_PS_STORERBABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb() = ", .il_ops = { - { hex_il_op_ps_storerbabs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_ps_storerbabs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44567,17 +44568,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e01800, .op = 0x48a00000 }, .id = HEX_INS_PS_STORERBNEWABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb() = .new", .il_ops = { - { hex_il_op_ps_storerbnewabs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_ps_storerbnewabs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44585,17 +44586,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x48c00000 }, .id = HEX_INS_PS_STORERDABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 3, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd() = ", .il_ops = { - { hex_il_op_ps_storerdabs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_ps_storerdabs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44603,17 +44604,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x48600000 }, .id = HEX_INS_PS_STORERFABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh() = .h", .il_ops = { - { hex_il_op_ps_storerfabs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_ps_storerfabs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44621,17 +44622,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x48400000 }, .id = HEX_INS_PS_STORERHABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh() = ", .il_ops = { - { hex_il_op_ps_storerhabs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_ps_storerhabs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44639,17 +44640,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e01800, .op = 0x48a00800 }, .id = HEX_INS_PS_STORERHNEWABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh() = .new", .il_ops = { - { hex_il_op_ps_storerhnewabs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_ps_storerhnewabs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44657,17 +44658,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x48800000 }, .id = HEX_INS_PS_STORERIABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 2, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw() = ", .il_ops = { - { hex_il_op_ps_storeriabs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_ps_storeriabs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44675,17 +44676,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e01800, .op = 0x48a01000 }, .id = HEX_INS_PS_STORERINEWABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 2, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw() = .new", .il_ops = { - { hex_il_op_ps_storerinewabs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_ps_storerinewabs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44693,10 +44694,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x44000000 }, .id = HEX_INS_S2_PSTORERBF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44704,9 +44705,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!) memb(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerbf_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerbf_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44714,10 +44715,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe01804, .op = 0x44a00000 }, .id = HEX_INS_S2_PSTORERBNEWF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44725,9 +44726,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!) memb(+) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerbnewf_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerbnewf_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44735,10 +44736,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe01804, .op = 0x40a00000 }, .id = HEX_INS_S2_PSTORERBNEWT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44746,9 +44747,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if () memb(+) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerbnewt_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerbnewt_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44756,10 +44757,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x40000000 }, .id = HEX_INS_S2_PSTORERBT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44767,9 +44768,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if () memb(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerbt_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerbt_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44777,10 +44778,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x44c00000 }, .id = HEX_INS_S2_PSTORERDF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 3, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44788,9 +44789,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!) memd(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerdf_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerdf_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44798,10 +44799,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x40c00000 }, .id = HEX_INS_S2_PSTORERDT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 3, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44809,9 +44810,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if () memd(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerdt_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerdt_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44819,10 +44820,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x44600000 }, .id = HEX_INS_S2_PSTORERFF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 1, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44830,9 +44831,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!) memh(+) = .h", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerff_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerff_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44840,10 +44841,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x40600000 }, .id = HEX_INS_S2_PSTORERFT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 1, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44851,9 +44852,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if () memh(+) = .h", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerft_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerft_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44861,10 +44862,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x44400000 }, .id = HEX_INS_S2_PSTORERHF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 1, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44872,9 +44873,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!) memh(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerhf_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerhf_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44882,10 +44883,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe01804, .op = 0x44a00800 }, .id = HEX_INS_S2_PSTORERHNEWF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 1, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44893,9 +44894,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!) memh(+) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerhnewf_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerhnewf_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44903,10 +44904,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe01804, .op = 0x40a00800 }, .id = HEX_INS_S2_PSTORERHNEWT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 1, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44914,9 +44915,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if () memh(+) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerhnewt_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerhnewt_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44924,10 +44925,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x40400000 }, .id = HEX_INS_S2_PSTORERHT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 1, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44935,9 +44936,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if () memh(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerht_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerht_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44945,10 +44946,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x44800000 }, .id = HEX_INS_S2_PSTORERIF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 2, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44956,9 +44957,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!) memw(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerif_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerif_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44966,10 +44967,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe01804, .op = 0x44a01000 }, .id = HEX_INS_S2_PSTORERINEWF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 2, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -44977,9 +44978,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!) memw(+) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerinewf_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerinewf_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -44987,10 +44988,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe01804, .op = 0x40a01000 }, .id = HEX_INS_S2_PSTORERINEWT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -44998,9 +44999,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if () memw(+) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerinewt_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerinewt_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45008,10 +45009,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x40800000 }, .id = HEX_INS_S2_PSTORERIT_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45019,9 +45020,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if () memw(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerit_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerit_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45029,17 +45030,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x48000000 }, .id = HEX_INS_S2_STORERBGP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(GP+) = ", .il_ops = { - { hex_il_op_s2_storerbgp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerbgp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45047,17 +45048,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e01800, .op = 0x48a00000 }, .id = HEX_INS_S2_STORERBNEWGP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(GP+) = .new", .il_ops = { - { hex_il_op_s2_storerbnewgp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerbnewgp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45065,17 +45066,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x48c00000 }, .id = HEX_INS_S2_STORERDGP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 3, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd(GP+) = ", .il_ops = { - { hex_il_op_s2_storerdgp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerdgp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45083,17 +45084,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x48600000 }, .id = HEX_INS_S2_STORERFGP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(GP+) = .h", .il_ops = { - { hex_il_op_s2_storerfgp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerfgp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45101,17 +45102,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x48400000 }, .id = HEX_INS_S2_STORERHGP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(GP+) = ", .il_ops = { - { hex_il_op_s2_storerhgp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerhgp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45119,17 +45120,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e01800, .op = 0x48a00800 }, .id = HEX_INS_S2_STORERHNEWGP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(GP+) = .new", .il_ops = { - { hex_il_op_s2_storerhnewgp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerhnewgp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45137,17 +45138,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e00000, .op = 0x48800000 }, .id = HEX_INS_S2_STORERIGP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 2, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(GP+) = ", .il_ops = { - { hex_il_op_s2_storerigp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerigp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45155,17 +45156,17 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xf9e01800, .op = 0x48a01000 }, .id = HEX_INS_S2_STORERINEWGP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .imm_scale = 2, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 25 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(GP+) = .new", .il_ops = { - { hex_il_op_s2_storerinewgp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerinewgp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45173,10 +45174,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x46000000 }, .id = HEX_INS_S4_PSTORERBFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45184,9 +45185,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!.new) memb(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbfnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbfnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45194,10 +45195,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe01804, .op = 0x46a00000 }, .id = HEX_INS_S4_PSTORERBNEWFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45205,9 +45206,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!.new) memb(+) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbnewfnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbnewfnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45215,10 +45216,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe01804, .op = 0x42a00000 }, .id = HEX_INS_S4_PSTORERBNEWTNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45226,9 +45227,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (.new) memb(+) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbnewtnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbnewtnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45236,10 +45237,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x42000000 }, .id = HEX_INS_S4_PSTORERBTNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45247,9 +45248,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (.new) memb(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbtnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbtnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45257,10 +45258,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x46c00000 }, .id = HEX_INS_S4_PSTORERDFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 3, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45268,9 +45269,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!.new) memd(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerdfnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerdfnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45278,10 +45279,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x42c00000 }, .id = HEX_INS_S4_PSTORERDTNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 3, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45289,9 +45290,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (.new) memd(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerdtnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerdtnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45299,10 +45300,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x46600000 }, .id = HEX_INS_S4_PSTORERFFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 1, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45310,9 +45311,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!.new) memh(+) = .h", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerffnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerffnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45320,10 +45321,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x42600000 }, .id = HEX_INS_S4_PSTORERFTNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 1, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45331,9 +45332,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (.new) memh(+) = .h", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerftnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerftnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45341,10 +45342,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x46400000 }, .id = HEX_INS_S4_PSTORERHFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 1, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45352,9 +45353,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!.new) memh(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhfnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhfnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45362,10 +45363,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe01804, .op = 0x46a00800 }, .id = HEX_INS_S4_PSTORERHNEWFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 1, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45373,9 +45374,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!.new) memh(+) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhnewfnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhnewfnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45383,10 +45384,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe01804, .op = 0x42a00800 }, .id = HEX_INS_S4_PSTORERHNEWTNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 1, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45394,9 +45395,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (.new) memh(+) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhnewtnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhnewtnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45404,10 +45405,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x42400000 }, .id = HEX_INS_S4_PSTORERHTNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 1, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 1, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45415,9 +45416,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (.new) memh(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhtnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhtnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45425,10 +45426,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x46800000 }, .id = HEX_INS_S4_PSTORERIFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 2, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45436,9 +45437,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!.new) memw(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerifnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerifnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45446,10 +45447,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe01804, .op = 0x46a01000 }, .id = HEX_INS_S4_PSTORERINEWFNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 2, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45457,9 +45458,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (!.new) memw(+) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerinewfnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerinewfnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45467,10 +45468,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe01804, .op = 0x42a01000 }, .id = HEX_INS_S4_PSTORERINEWTNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 2, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45478,9 +45479,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (.new) memw(+) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerinewtnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerinewtnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45488,10 +45489,10 @@ static const HexInsnTemplate templates_normal_0x4[] = { .encoding = { .mask = 0xffe00004, .op = 0x42800000 }, .id = HEX_INS_S4_PSTORERITNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .imm_scale = 2, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x5, 3 }, { 0x1, 13 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45499,9 +45500,9 @@ static const HexInsnTemplate templates_normal_0x4[] = { .syntax = "if (.new) memw(+) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstoreritnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstoreritnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -45513,7 +45514,7 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xfe000001, .op = 0x5a000000 }, .id = HEX_INS_J2_CALL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0xd, 1 }, { 0x9, 16 } }, .imm_scale = 2, .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0xd, 1 }, { 0x9, 16 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 5 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -45521,9 +45522,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "call ", .flags = HEX_INSN_TEMPLATE_FLAG_CALL | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_call, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_call, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45531,8 +45532,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xff201c01, .op = 0x5d200000 }, .id = HEX_INS_J2_CALLF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45540,9 +45541,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if (!) call ", .flags = HEX_INSN_TEMPLATE_FLAG_CALL | HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_callf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_callf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45550,7 +45551,7 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03fff, .op = 0x50a00000 }, .id = HEX_INS_J2_CALLR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 6 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -45558,9 +45559,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "callr ", .flags = HEX_INSN_TEMPLATE_FLAG_CALL | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_callr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_callr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45568,8 +45569,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03cff, .op = 0x51200000 }, .id = HEX_INS_J2_CALLRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45577,9 +45578,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if (!) callr ", .flags = HEX_INSN_TEMPLATE_FLAG_CALL | HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_callrf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_callrf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45587,8 +45588,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03cff, .op = 0x51000000 }, .id = HEX_INS_J2_CALLRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45596,9 +45597,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if () callr ", .flags = HEX_INSN_TEMPLATE_FLAG_CALL | HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_callrt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_callrt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45606,8 +45607,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xff201c01, .op = 0x5d000000 }, .id = HEX_INS_J2_CALLT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45615,9 +45616,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if () call ", .flags = HEX_INSN_TEMPLATE_FLAG_CALL | HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_callt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_callt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45625,7 +45626,7 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xfe000001, .op = 0x58000000 }, .id = HEX_INS_J2_JUMP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0xd, 1 }, { 0x9, 16 } }, .imm_scale = 2, .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0xd, 1 }, { 0x9, 16 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 5 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -45633,9 +45634,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "jump ", .flags = HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jump, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jump, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45643,8 +45644,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xff201c01, .op = 0x5c200000 }, .id = HEX_INS_J2_JUMPF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .imm_scale = 2, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45652,9 +45653,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if (!) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumpf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumpf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45662,8 +45663,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xff201c01, .op = 0x5c200800 }, .id = HEX_INS_J2_JUMPFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .imm_scale = 2, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45671,9 +45672,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if (!.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumpfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumpfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45681,8 +45682,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xff201c01, .op = 0x5c201800 }, .id = HEX_INS_J2_JUMPFNEWPT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45690,9 +45691,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if (!.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumpfnewpt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumpfnewpt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45700,8 +45701,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xff201c01, .op = 0x5c201000 }, .id = HEX_INS_J2_JUMPFPT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .imm_scale = 2, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 14 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45709,9 +45710,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if (!) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumpfpt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumpfpt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45719,7 +45720,7 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03fff, .op = 0x52800000 }, .id = HEX_INS_J2_JUMPR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 6 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -45727,9 +45728,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "jumpr ", .flags = HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumpr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumpr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45737,8 +45738,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03cff, .op = 0x53600000 }, .id = HEX_INS_J2_JUMPRF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45746,9 +45747,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if (!) jumpr:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumprf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumprf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45756,8 +45757,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03cff, .op = 0x53600800 }, .id = HEX_INS_J2_JUMPRFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45765,9 +45766,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if (!.new) jumpr:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumprfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumprfnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45775,8 +45776,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03cff, .op = 0x53601800 }, .id = HEX_INS_J2_JUMPRFNEWPT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45784,9 +45785,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if (!.new) jumpr:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumprfnewpt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumprfnewpt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45794,8 +45795,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03cff, .op = 0x53601000 }, .id = HEX_INS_J2_JUMPRFPT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -45803,9 +45804,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if (!) jumpr:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumprfpt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumprfpt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45813,8 +45814,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03cff, .op = 0x53400000 }, .id = HEX_INS_J2_JUMPRT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45822,9 +45823,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if () jumpr:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumprt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumprt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45832,8 +45833,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03cff, .op = 0x53400800 }, .id = HEX_INS_J2_JUMPRTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45841,9 +45842,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if (.new) jumpr:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumprtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumprtnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45851,8 +45852,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03cff, .op = 0x53401800 }, .id = HEX_INS_J2_JUMPRTNEWPT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45860,9 +45861,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if (.new) jumpr:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumprtnewpt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumprtnewpt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45870,8 +45871,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03cff, .op = 0x53401000 }, .id = HEX_INS_J2_JUMPRTPT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45879,9 +45880,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if () jumpr:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumprtpt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumprtpt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45889,8 +45890,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xff201c01, .op = 0x5c000000 }, .id = HEX_INS_J2_JUMPT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .imm_scale = 2, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45898,9 +45899,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if () jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumpt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumpt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45908,8 +45909,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xff201c01, .op = 0x5c000800 }, .id = HEX_INS_J2_JUMPTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45917,9 +45918,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if (.new) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumptnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumptnew, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45927,8 +45928,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xff201c01, .op = 0x5c001800 }, .id = HEX_INS_J2_JUMPTNEWPT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .imm_scale = 2, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 17 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45936,9 +45937,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if (.new) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumptnewpt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumptnewpt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45946,8 +45947,8 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xff201c01, .op = 0x5c001000 }, .id = HEX_INS_J2_JUMPTPT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .imm_scale = 2, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 1 }, { 0x1, 13 }, { 0x5, 16 }, { 0x2, 22 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 13 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -45955,9 +45956,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "if () jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumptpt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumptpt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45965,16 +45966,16 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffff20e3, .op = 0x54400000 }, .id = HEX_INS_J2_PAUSE, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 2 }, { 0x5, 8 } }, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 2 }, { 0x5, 8 } }, .isa_id = 'u', .syntax = 6 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "pause()", .il_ops = { - { hex_il_op_j2_pause, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_pause, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45982,16 +45983,16 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffff20e3, .op = 0x54000000 }, .id = HEX_INS_J2_TRAP0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 2 }, { 0x5, 8 } }, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 2 }, { 0x5, 8 } }, .isa_id = 'u', .syntax = 6 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_TRAP, .syntax = "trap0()", .il_ops = { - { hex_il_op_j2_trap0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_trap0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -45999,17 +46000,17 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe020e3, .op = 0x54800000 }, .id = HEX_INS_J2_TRAP1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 2 }, { 0x5, 8 } }, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 2 }, { 0x5, 8 } }, .isa_id = 'u', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_TRAP, .syntax = "trap1(,)", .il_ops = { - { hex_il_op_j2_trap1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_trap1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46017,7 +46018,7 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03fff, .op = 0x52a00000 }, .id = HEX_INS_J4_HINTJUMPR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -46025,9 +46026,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .syntax = "hintjr()", .flags = HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j4_hintjumpr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j4_hintjumpr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46035,16 +46036,16 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffff20e3, .op = 0x54800000 }, .id = HEX_INS_PS_TRAP1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 2 }, { 0x5, 8 } }, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 2 }, { 0x5, 8 } }, .isa_id = 'u', .syntax = 6 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_TRAP, .syntax = "trap1()", .il_ops = { - { hex_il_op_ps_trap1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_ps_trap1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46052,16 +46053,16 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03fff, .op = 0x56c00000 }, .id = HEX_INS_Y2_ICINVA, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "icinva()", .il_ops = { - { hex_il_op_y2_icinva, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y2_icinva, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46073,9 +46074,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "isync", .il_ops = { - { hex_il_op_y2_isync, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y2_isync, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46083,17 +46084,17 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x55a00000 }, .id = HEX_INS_IMPORTED_RD_ICDATAR_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = icdatar()", .il_ops = { - { hex_il_op_imported_rd_icdatar_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_rd_icdatar_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46101,17 +46102,17 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x55e00000 }, .id = HEX_INS_IMPORTED_RD_ICTAGR_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ictagr()", .il_ops = { - { hex_il_op_imported_rd_ictagr_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_rd_ictagr_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46119,17 +46120,17 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe020ff, .op = 0x55c02000 }, .id = HEX_INS_IMPORTED_ICDATAW_RS_RT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "icdataw(,)", .il_ops = { - { hex_il_op_imported_icdataw_rs_rt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_icdataw_rs_rt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46137,16 +46138,16 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe03fff, .op = 0x56c00800 }, .id = HEX_INS_IMPORTED_ICINVIDX_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "icinvidx()", .il_ops = { - { hex_il_op_imported_icinvidx_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_icinvidx_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46158,9 +46159,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "ickill", .il_ops = { - { hex_il_op_imported_ickill, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_ickill, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46168,17 +46169,17 @@ static const HexInsnTemplate templates_normal_0x5[] = { .encoding = { .mask = 0xffe020ff, .op = 0x55c00000 }, .id = HEX_INS_IMPORTED_ICTAGW_RS_RT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "ictagw(,)", .il_ops = { - { hex_il_op_imported_ictagw_rs_rt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_ictagw_rs_rt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46190,9 +46191,9 @@ static const HexInsnTemplate templates_normal_0x5[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "rte", .il_ops = { - { hex_il_op_imported_rte, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_rte, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -46204,8 +46205,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x6a000000 }, .id = HEX_INS_A2_TFRCRR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_CTR_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_CTR_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -46213,8 +46214,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = " = ", .il_ops = { { hex_il_op_a2_tfrcrr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46222,8 +46223,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x62200000 }, .id = HEX_INS_A2_TFRRCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_CTR_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_CTR_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -46231,8 +46232,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = " = ", .il_ops = { { hex_il_op_a2_tfrrcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46240,8 +46241,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x68000000 }, .id = HEX_INS_A4_TFRCPP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_CTR_REGS64, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_CTR_REGS64, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -46249,8 +46250,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = " = ", .il_ops = { { hex_il_op_a4_tfrcpp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46258,8 +46259,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x63200000 }, .id = HEX_INS_A4_TFRPCP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_CTR_REGS64, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_CTR_REGS64, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -46267,8 +46268,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = " = ", .il_ops = { { hex_il_op_a4_tfrpcp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46276,17 +46277,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3ffc, .op = 0x6ba00000 }, .id = HEX_INS_C2_ALL8, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = all8()", .il_ops = { - { hex_il_op_c2_all8, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_all8, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46294,18 +46295,18 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3cfc, .op = 0x6b000000 }, .id = HEX_INS_C2_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,)", .il_ops = { - { hex_il_op_c2_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46313,18 +46314,18 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3cfc, .op = 0x6b600000 }, .id = HEX_INS_C2_ANDN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,!)", .il_ops = { - { hex_il_op_c2_andn, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_andn, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46332,17 +46333,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3ffc, .op = 0x6b800000 }, .id = HEX_INS_C2_ANY8, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = any8()", .il_ops = { - { hex_il_op_c2_any8, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_any8, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46350,17 +46351,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3ffc, .op = 0x6bc00000 }, .id = HEX_INS_C2_NOT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = not()", .il_ops = { - { hex_il_op_c2_not, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_not, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46368,18 +46369,18 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3cfc, .op = 0x6b200000 }, .id = HEX_INS_C2_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = or(,)", .il_ops = { - { hex_il_op_c2_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46387,18 +46388,18 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3cfc, .op = 0x6be00000 }, .id = HEX_INS_C2_ORN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = or(,!)", .il_ops = { - { hex_il_op_c2_orn, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_orn, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46406,18 +46407,18 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3cfc, .op = 0x6b400000 }, .id = HEX_INS_C2_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = xor(,)", .il_ops = { - { hex_il_op_c2_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46425,17 +46426,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffff2060, .op = 0x6a490000 }, .id = HEX_INS_C4_ADDIPC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 7 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(PC,)", .il_ops = { - { hex_il_op_c4_addipc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_addipc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46443,19 +46444,19 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3c3c, .op = 0x6b100000 }, .id = HEX_INS_C4_AND_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 6 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 6 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,and(,))", .il_ops = { - { hex_il_op_c4_and_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_and_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46463,19 +46464,19 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3c3c, .op = 0x6b900000 }, .id = HEX_INS_C4_AND_ANDN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 6 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 6 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,and(,!))", .il_ops = { - { hex_il_op_c4_and_andn, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_and_andn, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46483,19 +46484,19 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3c3c, .op = 0x6b300000 }, .id = HEX_INS_C4_AND_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 6 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 6 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,or(,))", .il_ops = { - { hex_il_op_c4_and_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_and_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46503,19 +46504,19 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3c3c, .op = 0x6bb00000 }, .id = HEX_INS_C4_AND_ORN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 6 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 6 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,or(,!))", .il_ops = { - { hex_il_op_c4_and_orn, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_and_orn, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46523,18 +46524,18 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3cfc, .op = 0x6b002090 }, .id = HEX_INS_C4_FASTCORNER9, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = fastcorner9(,)", .il_ops = { - { hex_il_op_c4_fastcorner9, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_fastcorner9, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46542,18 +46543,18 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3cfc, .op = 0x6b102090 }, .id = HEX_INS_C4_FASTCORNER9_NOT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = !fastcorner9(,)", .il_ops = { - { hex_il_op_c4_fastcorner9_not, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_fastcorner9_not, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46561,19 +46562,19 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3c3c, .op = 0x6b500000 }, .id = HEX_INS_C4_OR_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 6 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 6 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = or(,and(,))", .il_ops = { - { hex_il_op_c4_or_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_or_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46581,19 +46582,19 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3c3c, .op = 0x6bd00000 }, .id = HEX_INS_C4_OR_ANDN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 6 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 6 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = or(,and(,!))", .il_ops = { - { hex_il_op_c4_or_andn, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_or_andn, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46601,19 +46602,19 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3c3c, .op = 0x6b700000 }, .id = HEX_INS_C4_OR_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 6 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 6 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = or(,or(,))", .il_ops = { - { hex_il_op_c4_or_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_or_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46621,19 +46622,19 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xfffc3c3c, .op = 0x6bf00000 }, .id = HEX_INS_C4_OR_ORN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 6 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 6 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = or(,or(,!))", .il_ops = { - { hex_il_op_c4_or_orn, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_or_orn, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46641,17 +46642,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x68200000 }, .id = HEX_INS_G4_TFRGCPP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_GUEST_REGS64, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_GUEST_REGS64, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ", .il_ops = { - { hex_il_op_g4_tfrgcpp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_g4_tfrgcpp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46659,17 +46660,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x6a200000 }, .id = HEX_INS_G4_TFRGCRR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_GUEST_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_GUEST_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ", .il_ops = { - { hex_il_op_g4_tfrgcrr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_g4_tfrgcrr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46677,17 +46678,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x63000000 }, .id = HEX_INS_G4_TFRGPCP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_GUEST_REGS64, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_GUEST_REGS64, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ", .il_ops = { - { hex_il_op_g4_tfrgpcp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_g4_tfrgpcp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46695,17 +46696,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x62000000 }, .id = HEX_INS_G4_TFRGRCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_GUEST_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_GUEST_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ", .il_ops = { - { hex_il_op_g4_tfrgrcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_g4_tfrgrcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46713,8 +46714,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffc01001, .op = 0x61400000 }, .id = HEX_INS_J2_JUMPRGTEZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE, .masks = { { 0xb, 1 }, { 0x1, 13 }, { 0x1, 21 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE, .masks = { { 0xb, 1 }, { 0x1, 13 }, { 0x1, 21 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -46722,9 +46723,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "if (>=#0) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumprgtez, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumprgtez, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46732,8 +46733,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffc01001, .op = 0x61401000 }, .id = HEX_INS_J2_JUMPRGTEZPT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE, .masks = { { 0xb, 1 }, { 0x1, 13 }, { 0x1, 21 } }, .imm_scale = 2, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE, .masks = { { 0xb, 1 }, { 0x1, 13 }, { 0x1, 21 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 17 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -46741,9 +46742,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "if (>=#0) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumprgtezpt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumprgtezpt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46751,8 +46752,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffc01001, .op = 0x61c00000 }, .id = HEX_INS_J2_JUMPRLTEZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE, .masks = { { 0xb, 1 }, { 0x1, 13 }, { 0x1, 21 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE, .masks = { { 0xb, 1 }, { 0x1, 13 }, { 0x1, 21 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -46760,9 +46761,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "if (<=#0) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumprltez, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumprltez, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46770,8 +46771,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffc01001, .op = 0x61c01000 }, .id = HEX_INS_J2_JUMPRLTEZPT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE, .masks = { { 0xb, 1 }, { 0x1, 13 }, { 0x1, 21 } }, .imm_scale = 2, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE, .masks = { { 0xb, 1 }, { 0x1, 13 }, { 0x1, 21 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 17 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -46779,9 +46780,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "if (<=#0) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumprltezpt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumprltezpt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46789,8 +46790,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffc01001, .op = 0x61800000 }, .id = HEX_INS_J2_JUMPRNZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE, .masks = { { 0xb, 1 }, { 0x1, 13 }, { 0x1, 21 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE, .masks = { { 0xb, 1 }, { 0x1, 13 }, { 0x1, 21 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -46798,9 +46799,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "if (==#0) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumprnz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumprnz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46808,8 +46809,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffc01001, .op = 0x61801000 }, .id = HEX_INS_J2_JUMPRNZPT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE, .masks = { { 0xb, 1 }, { 0x1, 13 }, { 0x1, 21 } }, .imm_scale = 2, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE, .masks = { { 0xb, 1 }, { 0x1, 13 }, { 0x1, 21 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 17 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -46817,9 +46818,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "if (==#0) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumprnzpt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumprnzpt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46827,8 +46828,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffc01001, .op = 0x61000000 }, .id = HEX_INS_J2_JUMPRZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE, .masks = { { 0xb, 1 }, { 0x1, 13 }, { 0x1, 21 } }, .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE, .masks = { { 0xb, 1 }, { 0x1, 13 }, { 0x1, 21 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -46836,9 +46837,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "if (!=#0) jump:nt ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumprz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumprz, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46846,8 +46847,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffc01001, .op = 0x61001000 }, .id = HEX_INS_J2_JUMPRZPT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE, .masks = { { 0xb, 1 }, { 0x1, 13 }, { 0x1, 21 } }, .imm_scale = 2, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE, .masks = { { 0xb, 1 }, { 0x1, 13 }, { 0x1, 21 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 17 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -46855,9 +46856,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "if (!=#0) jump:t ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED | HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT, .il_ops = { - { hex_il_op_j2_jumprzpt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_jumprzpt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46865,8 +46866,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe02004, .op = 0x69000000 }, .id = HEX_INS_J2_LOOP0I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 }, { 0x3, 5 }, { 0x5, 16 } }, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 }, { 0x3, 5 }, { 0x5, 16 } }, .isa_id = 'U', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -46874,9 +46875,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "loop0(,)", .flags = HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT | HEX_INSN_TEMPLATE_FLAG_LOOP_BEGIN | HEX_INSN_TEMPLATE_FLAG_LOOP_0, .il_ops = { - { hex_il_op_j2_loop0i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_loop0i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46884,8 +46885,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe020e7, .op = 0x60000000 }, .id = HEX_INS_J2_LOOP0R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -46893,9 +46894,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "loop0(,)", .flags = HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT | HEX_INSN_TEMPLATE_FLAG_LOOP_BEGIN | HEX_INSN_TEMPLATE_FLAG_LOOP_0, .il_ops = { - { hex_il_op_j2_loop0r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_loop0r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46903,8 +46904,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe02004, .op = 0x69200000 }, .id = HEX_INS_J2_LOOP1I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 }, { 0x3, 5 }, { 0x5, 16 } }, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 }, { 0x3, 5 }, { 0x5, 16 } }, .isa_id = 'U', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -46912,9 +46913,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "loop1(,)", .flags = HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT | HEX_INSN_TEMPLATE_FLAG_LOOP_BEGIN | HEX_INSN_TEMPLATE_FLAG_LOOP_1, .il_ops = { - { hex_il_op_j2_loop1i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_loop1i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46922,8 +46923,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe020e7, .op = 0x60200000 }, .id = HEX_INS_J2_LOOP1R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -46931,9 +46932,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "loop1(,)", .flags = HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT | HEX_INSN_TEMPLATE_FLAG_LOOP_BEGIN | HEX_INSN_TEMPLATE_FLAG_LOOP_1, .il_ops = { - { hex_il_op_j2_loop1r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_loop1r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46941,8 +46942,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe02004, .op = 0x69a00000 }, .id = HEX_INS_J2_PLOOP1SI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .imm_scale = 2, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 }, { 0x3, 5 }, { 0x5, 16 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 }, { 0x3, 5 }, { 0x5, 16 } }, .isa_id = 'U', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -46950,9 +46951,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "P3 = sp1loop0(,)", .flags = HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT | HEX_INSN_TEMPLATE_FLAG_LOOP_BEGIN | HEX_INSN_TEMPLATE_FLAG_LOOP_0, .il_ops = { - { hex_il_op_j2_ploop1si, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_ploop1si, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46960,8 +46961,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe020e7, .op = 0x60a00000 }, .id = HEX_INS_J2_PLOOP1SR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .imm_scale = 2, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -46969,9 +46970,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "P3 = sp1loop0(,)", .flags = HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT | HEX_INSN_TEMPLATE_FLAG_LOOP_BEGIN | HEX_INSN_TEMPLATE_FLAG_LOOP_0, .il_ops = { - { hex_il_op_j2_ploop1sr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_ploop1sr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46979,8 +46980,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe02004, .op = 0x69c00000 }, .id = HEX_INS_J2_PLOOP2SI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .imm_scale = 2, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 }, { 0x3, 5 }, { 0x5, 16 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 }, { 0x3, 5 }, { 0x5, 16 } }, .isa_id = 'U', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -46988,9 +46989,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "P3 = sp2loop0(,)", .flags = HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT | HEX_INSN_TEMPLATE_FLAG_LOOP_BEGIN | HEX_INSN_TEMPLATE_FLAG_LOOP_0, .il_ops = { - { hex_il_op_j2_ploop2si, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_ploop2si, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -46998,8 +46999,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe020e7, .op = 0x60c00000 }, .id = HEX_INS_J2_PLOOP2SR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .imm_scale = 2, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -47007,9 +47008,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "P3 = sp2loop0(,)", .flags = HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT | HEX_INSN_TEMPLATE_FLAG_LOOP_BEGIN | HEX_INSN_TEMPLATE_FLAG_LOOP_0, .il_ops = { - { hex_il_op_j2_ploop2sr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_ploop2sr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47017,8 +47018,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe02004, .op = 0x69e00000 }, .id = HEX_INS_J2_PLOOP3SI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .imm_scale = 2, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 }, { 0x3, 5 }, { 0x5, 16 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x2, 0 }, { 0x3, 5 }, { 0x5, 16 } }, .isa_id = 'U', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -47026,9 +47027,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "P3 = sP3loop0(,)", .flags = HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT | HEX_INSN_TEMPLATE_FLAG_LOOP_BEGIN | HEX_INSN_TEMPLATE_FLAG_LOOP_0, .il_ops = { - { hex_il_op_j2_ploop3si, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_ploop3si, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47036,8 +47037,8 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe020e7, .op = 0x60e00000 }, .id = HEX_INS_J2_PLOOP3SR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .imm_scale = 2, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_PC_RELATIVE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 3 }, { 0x5, 8 } }, .isa_id = 'r', .imm_scale = 2, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -47045,9 +47046,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .syntax = "P3 = sP3loop0(,)", .flags = HEX_INSN_TEMPLATE_FLAG_HAS_JMP_TGT | HEX_INSN_TEMPLATE_FLAG_LOOP_BEGIN | HEX_INSN_TEMPLATE_FLAG_LOOP_0, .il_ops = { - { hex_il_op_j2_ploop3sr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_j2_ploop3sr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47059,9 +47060,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "brkpt", .il_ops = { - { hex_il_op_y2_break, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y2_break, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47069,17 +47070,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xff803fe0, .op = 0x6e800000 }, .id = HEX_INS_Y2_TFRSCRR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x7, 16 } }, .reg_cls = HEX_REG_CLASS_SYS_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x7, 16 } }, .reg_cls = HEX_REG_CLASS_SYS_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ", .il_ops = { - { hex_il_op_y2_tfrscrr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y2_tfrscrr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47087,17 +47088,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03f80, .op = 0x67000000 }, .id = HEX_INS_Y2_TFRSRCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x7, 0 } }, .reg_cls = HEX_REG_CLASS_SYS_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x7, 0 } }, .reg_cls = HEX_REG_CLASS_SYS_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ", .il_ops = { - { hex_il_op_y2_tfrsrcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y2_tfrsrcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47105,16 +47106,16 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fff, .op = 0x64400000 }, .id = HEX_INS_Y2_WAIT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "wait()", .il_ops = { - { hex_il_op_y2_wait, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y2_wait, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47122,17 +47123,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xff803fe0, .op = 0x6f000000 }, .id = HEX_INS_Y4_TFRSCPP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x7, 16 } }, .reg_cls = HEX_REG_CLASS_SYS_REGS64, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x7, 16 } }, .reg_cls = HEX_REG_CLASS_SYS_REGS64, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ", .il_ops = { - { hex_il_op_y4_tfrscpp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y4_tfrscpp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47140,17 +47141,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03f80, .op = 0x6d000000 }, .id = HEX_INS_Y4_TFRSPCP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x7, 0 } }, .reg_cls = HEX_REG_CLASS_SYS_REGS64, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x7, 0 } }, .reg_cls = HEX_REG_CLASS_SYS_REGS64, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ", .il_ops = { - { hex_il_op_y4_tfrspcp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y4_tfrspcp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47158,16 +47159,16 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fff, .op = 0x62400000 }, .id = HEX_INS_Y4_TRACE, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 6 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "trace()", .il_ops = { - { hex_il_op_y4_trace, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y4_trace, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47175,16 +47176,16 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fff, .op = 0x62400020 }, .id = HEX_INS_Y6_DIAG, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "DIAG()", .il_ops = { - { hex_il_op_y6_diag, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y6_diag, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47192,17 +47193,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe020ff, .op = 0x62400040 }, .id = HEX_INS_Y6_DIAG0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "DIAG0(,)", .il_ops = { - { hex_il_op_y6_diag0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y6_diag0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47210,17 +47211,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe020ff, .op = 0x62400060 }, .id = HEX_INS_Y6_DIAG1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "DIAG1(,)", .il_ops = { - { hex_il_op_y6_diag1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y6_diag1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47228,17 +47229,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xff803fe0, .op = 0x6e800000 }, .id = HEX_INS_IMPORTED_RD_SS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x7, 16 } }, .reg_cls = HEX_REG_CLASS_SYS_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x7, 16 } }, .reg_cls = HEX_REG_CLASS_SYS_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ", .il_ops = { - { hex_il_op_imported_rd_ss, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_rd_ss, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47246,18 +47247,18 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe020e0, .op = 0x6cc00000 }, .id = HEX_INS_IMPORTED_RD_CTLBW_RSS_RT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ctlbw(,)", .il_ops = { - { hex_il_op_imported_rd_ctlbw_rss_rt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_rd_ctlbw_rss_rt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47265,17 +47266,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x66000000 }, .id = HEX_INS_IMPORTED_RD_GETIMASK_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = getimask()", .il_ops = { - { hex_il_op_imported_rd_getimask_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_rd_getimask_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47283,17 +47284,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x66600000 }, .id = HEX_INS_IMPORTED_RD_IASSIGNR_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = iassignr()", .il_ops = { - { hex_il_op_imported_rd_iassignr_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_rd_iassignr_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47301,17 +47302,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x6ce00000 }, .id = HEX_INS_IMPORTED_RD_TLBOC_RSS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = tlboc()", .il_ops = { - { hex_il_op_imported_rd_tlboc_rss, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_rd_tlboc_rss, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47319,17 +47320,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x6c800000 }, .id = HEX_INS_IMPORTED_RD_TLBP_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = tlbp()", .il_ops = { - { hex_il_op_imported_rd_tlbp_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_rd_tlbp_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47337,17 +47338,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xff803fe0, .op = 0x6f000000 }, .id = HEX_INS_IMPORTED_RDD_SSS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x7, 16 } }, .reg_cls = HEX_REG_CLASS_SYS_REGS64, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x7, 16 } }, .reg_cls = HEX_REG_CLASS_SYS_REGS64, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ", .il_ops = { - { hex_il_op_imported_rdd_sss, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_rdd_sss, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47355,17 +47356,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x6c400000 }, .id = HEX_INS_IMPORTED_RDD_TLBR_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = tlbr()", .il_ops = { - { hex_il_op_imported_rdd_tlbr_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_rdd_tlbr_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47373,17 +47374,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03f80, .op = 0x67000000 }, .id = HEX_INS_IMPORTED_SD_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x7, 0 } }, .reg_cls = HEX_REG_CLASS_SYS_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x7, 0 } }, .reg_cls = HEX_REG_CLASS_SYS_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ", .il_ops = { - { hex_il_op_imported_sd_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_sd_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47391,17 +47392,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffc00000, .op = 0x6d000000 }, .id = HEX_INS_IMPORTED_SDD_RSS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x7, 0 } }, .reg_cls = HEX_REG_CLASS_SYS_REGS64, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x7, 0 } }, .reg_cls = HEX_REG_CLASS_SYS_REGS64, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ", .il_ops = { - { hex_il_op_imported_sdd_rss, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_sdd_rss, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47409,16 +47410,16 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fff, .op = 0x64000060 }, .id = HEX_INS_IMPORTED_CIAD_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "ciad()", .il_ops = { - { hex_il_op_imported_ciad_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_ciad_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47426,16 +47427,16 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fff, .op = 0x65000000 }, .id = HEX_INS_IMPORTED_CRSWAP_RX_SGP0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "crswap(,SGP0)", .il_ops = { - { hex_il_op_imported_crswap_rx_sgp0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_crswap_rx_sgp0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47443,16 +47444,16 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fff, .op = 0x65200000 }, .id = HEX_INS_IMPORTED_CRSWAP_RX_SGP1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "crswap(,SGP1)", .il_ops = { - { hex_il_op_imported_crswap_rx_sgp1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_crswap_rx_sgp1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47460,16 +47461,16 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fff, .op = 0x6d800000 }, .id = HEX_INS_IMPORTED_CRSWAP_RXX_SGP1_0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "crswap(,SGP1:0)", .il_ops = { - { hex_il_op_imported_crswap_rxx_sgp1_0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_crswap_rxx_sgp1_0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47477,16 +47478,16 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fff, .op = 0x64000020 }, .id = HEX_INS_IMPORTED_CSWI_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "CSwi()", .il_ops = { - { hex_il_op_imported_cswi_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_cswi_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47494,16 +47495,16 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fff, .op = 0x64000040 }, .id = HEX_INS_IMPORTED_IASSIGNW_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "iassignw()", .il_ops = { - { hex_il_op_imported_iassignw_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_iassignw_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47515,9 +47516,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "k0lock", .il_ops = { - { hex_il_op_imported_k0lock, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_k0lock, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47529,9 +47530,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "k0unlock", .il_ops = { - { hex_il_op_imported_k0unlock, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_k0unlock, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47539,16 +47540,16 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fff, .op = 0x64600040 }, .id = HEX_INS_IMPORTED_NMI_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 4 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "nmi()", .il_ops = { - { hex_il_op_imported_nmi_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_nmi_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47556,16 +47557,16 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fff, .op = 0x64400020 }, .id = HEX_INS_IMPORTED_RESUME_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "resume()", .il_ops = { - { hex_il_op_imported_resume_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_resume_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47573,17 +47574,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03cff, .op = 0x64800000 }, .id = HEX_INS_IMPORTED_SETIMASK_PT_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "setimask(,)", .il_ops = { - { hex_il_op_imported_setimask_pt_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_setimask_pt_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47591,17 +47592,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03cff, .op = 0x64800020 }, .id = HEX_INS_IMPORTED_SETPRIO_PT_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "setprio(,)", .il_ops = { - { hex_il_op_imported_setprio_pt_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_setprio_pt_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47609,16 +47610,16 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fff, .op = 0x64800060 }, .id = HEX_INS_IMPORTED_SIAD_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "siad()", .il_ops = { - { hex_il_op_imported_siad_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_siad_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47626,16 +47627,16 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fff, .op = 0x64600020 }, .id = HEX_INS_IMPORTED_START_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 6 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "start()", .il_ops = { - { hex_il_op_imported_start_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_start_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47643,16 +47644,16 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fff, .op = 0x64600000 }, .id = HEX_INS_IMPORTED_STOP_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "stop()", .il_ops = { - { hex_il_op_imported_stop_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_stop_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47660,16 +47661,16 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fff, .op = 0x64000000 }, .id = HEX_INS_IMPORTED_SWI_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 4 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "swi()", .il_ops = { - { hex_il_op_imported_swi_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_swi_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47677,16 +47678,16 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe03fff, .op = 0x6ca00000 }, .id = HEX_INS_IMPORTED_TLBINVASID_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "tlbinvasid()", .il_ops = { - { hex_il_op_imported_tlbinvasid_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_tlbinvasid_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47698,9 +47699,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "tlblock", .il_ops = { - { hex_il_op_imported_tlblock, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_tlblock, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47712,9 +47713,9 @@ static const HexInsnTemplate templates_normal_0x6[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "tlbunlock", .il_ops = { - { hex_il_op_imported_tlbunlock, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_tlbunlock, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47722,17 +47723,17 @@ static const HexInsnTemplate templates_normal_0x6[] = { .encoding = { .mask = 0xffe020ff, .op = 0x6c000000 }, .id = HEX_INS_IMPORTED_TLBW_RSS_RT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 6 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "tlbw(,)", .il_ops = { - { hex_il_op_imported_tlbw_rss_rt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_tlbw_rss_rt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -47744,9 +47745,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffc00000, .op = 0x76000000 }, .id = HEX_INS_A2_ANDIR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -47754,8 +47755,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = " = and(,)", .il_ops = { { hex_il_op_a2_andir, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47763,8 +47764,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x70000000 }, .id = HEX_INS_A2_ASLH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -47772,8 +47773,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = " = aslh()", .il_ops = { { hex_il_op_a2_aslh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47781,8 +47782,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x70200000 }, .id = HEX_INS_A2_ASRH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -47790,8 +47791,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = " = asrh()", .il_ops = { { hex_il_op_a2_asrh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47799,9 +47800,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xff800000, .op = 0x7c000000 }, .id = HEX_INS_A2_COMBINEII, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x1, 13 }, { 0x7, 16 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x1, 13 }, { 0x7, 16 } }, .isa_id = 'S', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -47809,8 +47810,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = " = combine(,)", .il_ops = { { hex_il_op_a2_combineii, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47823,8 +47824,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "nop", .il_ops = { { hex_il_op_a2_nop, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47832,9 +47833,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffc00000, .op = 0x76800000 }, .id = HEX_INS_A2_ORIR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -47842,8 +47843,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = " = or(,)", .il_ops = { { hex_il_op_a2_orir, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47851,10 +47852,10 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xff802000, .op = 0x74800000 }, .id = HEX_INS_A2_PADDIF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -47862,9 +47863,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (!) = add(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_paddif, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_paddif, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47872,10 +47873,10 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xff802000, .op = 0x74802000 }, .id = HEX_INS_A2_PADDIFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -47883,9 +47884,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (!.new) = add(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_paddifnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_paddifnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47893,10 +47894,10 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xff802000, .op = 0x74000000 }, .id = HEX_INS_A2_PADDIT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -47904,9 +47905,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if () = add(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_paddit, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_paddit, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47914,10 +47915,10 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xff802000, .op = 0x74002000 }, .id = HEX_INS_A2_PADDITNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -47925,9 +47926,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (.new) = add(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_padditnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_padditnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47935,9 +47936,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffc00000, .op = 0x76400000 }, .id = HEX_INS_A2_SUBRI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -47945,8 +47946,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = " = sub(,)", .il_ops = { { hex_il_op_a2_subri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47954,8 +47955,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x70a00000 }, .id = HEX_INS_A2_SXTB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -47963,8 +47964,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = " = sxtb()", .il_ops = { { hex_il_op_a2_sxtb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47972,8 +47973,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x70e00000 }, .id = HEX_INS_A2_SXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -47981,8 +47982,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = " = sxth()", .il_ops = { { hex_il_op_a2_sxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -47990,8 +47991,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x70600000 }, .id = HEX_INS_A2_TFR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -47999,8 +48000,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = " = ", .il_ops = { { hex_il_op_a2_tfr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48008,8 +48009,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xff200000, .op = 0x72200000 }, .id = HEX_INS_A2_TFRIH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0xe, 0 }, { 0x2, 22 } }, .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0xe, 0 }, { 0x2, 22 } }, .isa_id = 'u', .syntax = 5 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -48017,8 +48018,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = ".h = ", .il_ops = { { hex_il_op_a2_tfrih, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48026,8 +48027,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xff200000, .op = 0x71200000 }, .id = HEX_INS_A2_TFRIL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0xe, 0 }, { 0x2, 22 } }, .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0xe, 0 }, { 0x2, 22 } }, .isa_id = 'u', .syntax = 5 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -48035,8 +48036,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = ".l = ", .il_ops = { { hex_il_op_a2_tfril, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48044,8 +48045,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xff200000, .op = 0x78000000 }, .id = HEX_INS_A2_TFRSI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 22 } }, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x5, 16 }, { 0x2, 22 } }, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -48053,8 +48054,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = " = ", .il_ops = { { hex_il_op_a2_tfrsi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48062,8 +48063,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x70c00000 }, .id = HEX_INS_A2_ZXTH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -48071,8 +48072,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = " = zxth()", .il_ops = { { hex_il_op_a2_zxth, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48080,9 +48081,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe00000, .op = 0x7c800000 }, .id = HEX_INS_A4_COMBINEII, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x8, 5 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 13 }, { 0x5, 16 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 13 }, { 0x5, 16 } }, .isa_id = 'U', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -48090,8 +48091,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = " = combine(,)", .il_ops = { { hex_il_op_a4_combineii, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48099,9 +48100,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe02000, .op = 0x73202000 }, .id = HEX_INS_A4_COMBINEIR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -48109,8 +48110,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = " = combine(,)", .il_ops = { { hex_il_op_a4_combineir, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48118,9 +48119,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe02000, .op = 0x73002000 }, .id = HEX_INS_A4_COMBINERI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -48128,8 +48129,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = " = combine(,)", .il_ops = { { hex_il_op_a4_combineri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48137,9 +48138,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70002800 }, .id = HEX_INS_A4_PASLHF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -48147,9 +48148,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (!) = aslh()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_paslhf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_paslhf, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48157,9 +48158,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70002c00 }, .id = HEX_INS_A4_PASLHFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -48167,9 +48168,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (!.new) = aslh()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_paslhfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_paslhfnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48177,9 +48178,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70002000 }, .id = HEX_INS_A4_PASLHT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -48187,9 +48188,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if () = aslh()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_paslht, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_paslht, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48197,9 +48198,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70002400 }, .id = HEX_INS_A4_PASLHTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -48207,9 +48208,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (.new) = aslh()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_paslhtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_paslhtnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48217,9 +48218,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70202800 }, .id = HEX_INS_A4_PASRHF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -48227,9 +48228,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (!) = asrh()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_pasrhf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_pasrhf, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48237,9 +48238,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70202c00 }, .id = HEX_INS_A4_PASRHFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -48247,9 +48248,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (!.new) = asrh()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_pasrhfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_pasrhfnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48257,9 +48258,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70202000 }, .id = HEX_INS_A4_PASRHT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -48267,9 +48268,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if () = asrh()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_pasrht, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_pasrht, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48277,9 +48278,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70202400 }, .id = HEX_INS_A4_PASRHTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -48287,9 +48288,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (.new) = asrh()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_pasrhtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_pasrhtnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48297,9 +48298,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70a02800 }, .id = HEX_INS_A4_PSXTBF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -48307,9 +48308,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (!) = sxtb()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_psxtbf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_psxtbf, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48317,9 +48318,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70a02c00 }, .id = HEX_INS_A4_PSXTBFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -48327,9 +48328,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (!.new) = sxtb()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_psxtbfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_psxtbfnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48337,9 +48338,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70a02000 }, .id = HEX_INS_A4_PSXTBT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -48347,9 +48348,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if () = sxtb()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_psxtbt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_psxtbt, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48357,9 +48358,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70a02400 }, .id = HEX_INS_A4_PSXTBTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -48367,9 +48368,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (.new) = sxtb()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_psxtbtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_psxtbtnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48377,9 +48378,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70e02800 }, .id = HEX_INS_A4_PSXTHF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -48387,9 +48388,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (!) = sxth()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_psxthf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_psxthf, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48397,9 +48398,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70e02c00 }, .id = HEX_INS_A4_PSXTHFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -48407,9 +48408,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (!.new) = sxth()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_psxthfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_psxthfnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48417,9 +48418,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70e02000 }, .id = HEX_INS_A4_PSXTHT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -48427,9 +48428,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if () = sxth()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_psxtht, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_psxtht, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48437,9 +48438,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70e02400 }, .id = HEX_INS_A4_PSXTHTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -48447,9 +48448,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (.new) = sxth()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_psxthtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_psxthtnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48457,9 +48458,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70802800 }, .id = HEX_INS_A4_PZXTBF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -48467,9 +48468,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (!) = zxtb()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_pzxtbf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_pzxtbf, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48477,9 +48478,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70802c00 }, .id = HEX_INS_A4_PZXTBFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -48487,9 +48488,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (!.new) = zxtb()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_pzxtbfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_pzxtbfnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48497,9 +48498,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70802000 }, .id = HEX_INS_A4_PZXTBT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -48507,9 +48508,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if () = zxtb()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_pzxtbt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_pzxtbt, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48517,9 +48518,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70802400 }, .id = HEX_INS_A4_PZXTBTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -48527,9 +48528,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (.new) = zxtb()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_pzxtbtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_pzxtbtnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48537,9 +48538,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70c02800 }, .id = HEX_INS_A4_PZXTHF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -48547,9 +48548,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (!) = zxth()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_pzxthf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_pzxthf, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48557,9 +48558,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70c02c00 }, .id = HEX_INS_A4_PZXTHFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -48567,9 +48568,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (!.new) = zxth()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_pzxthfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_pzxthfnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48577,9 +48578,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70c02000 }, .id = HEX_INS_A4_PZXTHT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -48587,9 +48588,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if () = zxth()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_pzxtht, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_pzxtht, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48597,9 +48598,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x70c02400 }, .id = HEX_INS_A4_PZXTHTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -48607,9 +48608,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (.new) = zxth()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a4_pzxthtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_pzxthtnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48617,9 +48618,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe02000, .op = 0x73402000 }, .id = HEX_INS_A4_RCMPEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -48627,8 +48628,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = " = cmp.eq(,)", .il_ops = { { hex_il_op_a4_rcmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48636,9 +48637,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe02000, .op = 0x73602000 }, .id = HEX_INS_A4_RCMPNEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -48646,8 +48647,8 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = " = !cmp.eq(,)", .il_ops = { { hex_il_op_a4_rcmpneqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48655,9 +48656,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xff902000, .op = 0x7e800000 }, .id = HEX_INS_C2_CMOVEIF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 }, { 0x4, 16 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 }, { 0x4, 16 } }, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -48665,9 +48666,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (!) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_c2_cmoveif, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_cmoveif, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48675,9 +48676,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xff902000, .op = 0x7e000000 }, .id = HEX_INS_C2_CMOVEIT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 }, { 0x4, 16 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 }, { 0x4, 16 } }, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -48685,9 +48686,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if () = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_c2_cmoveit, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_cmoveit, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48695,9 +48696,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xff902000, .op = 0x7e802000 }, .id = HEX_INS_C2_CMOVENEWIF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 }, { 0x4, 16 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 }, { 0x4, 16 } }, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -48705,9 +48706,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (!.new) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_c2_cmovenewif, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_cmovenewif, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48715,9 +48716,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xff902000, .op = 0x7e002000 }, .id = HEX_INS_C2_CMOVENEWIT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 }, { 0x4, 16 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 }, { 0x4, 16 } }, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -48725,9 +48726,9 @@ static const HexInsnTemplate templates_normal_0x7[] = { .syntax = "if (.new) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_c2_cmovenewit, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_cmovenewit, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48735,18 +48736,18 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffc0001c, .op = 0x75000000 }, .id = HEX_INS_C2_CMPEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmp.eq(,)", .il_ops = { - { hex_il_op_c2_cmpeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_cmpeqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48754,18 +48755,18 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffc0001c, .op = 0x75400000 }, .id = HEX_INS_C2_CMPGTI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmp.gt(,)", .il_ops = { - { hex_il_op_c2_cmpgti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_cmpgti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48773,18 +48774,18 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe0001c, .op = 0x75800000 }, .id = HEX_INS_C2_CMPGTUI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmp.gtu(,)", .il_ops = { - { hex_il_op_c2_cmpgtui, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_cmpgtui, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48792,19 +48793,19 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xfe000000, .op = 0x7a000000 }, .id = HEX_INS_C2_MUXII, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 23 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x1, 13 }, { 0x7, 16 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 23 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x1, 13 }, { 0x7, 16 } }, .isa_id = 'S', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mux(,,)", .il_ops = { - { hex_il_op_c2_muxii, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_muxii, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48812,19 +48813,19 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xff802000, .op = 0x73000000 }, .id = HEX_INS_C2_MUXIR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mux(,,)", .il_ops = { - { hex_il_op_c2_muxir, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_muxir, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48832,19 +48833,19 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xff802000, .op = 0x73800000 }, .id = HEX_INS_C2_MUXRI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 21 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mux(,,)", .il_ops = { - { hex_il_op_c2_muxri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_muxri, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48852,18 +48853,18 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffc0001c, .op = 0x75400010 }, .id = HEX_INS_C4_CMPLTEI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = !cmp.gt(,)", .il_ops = { - { hex_il_op_c4_cmpltei, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_cmpltei, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48871,18 +48872,18 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffe0001c, .op = 0x75800010 }, .id = HEX_INS_C4_CMPLTEUI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = !cmp.gtu(,)", .il_ops = { - { hex_il_op_c4_cmplteui, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_cmplteui, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48890,18 +48891,18 @@ static const HexInsnTemplate templates_normal_0x7[] = { .encoding = { .mask = 0xffc0001c, .op = 0x75000010 }, .id = HEX_INS_C4_CMPNEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = !cmp.eq(,)", .il_ops = { - { hex_il_op_c4_cmpneqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_cmpneqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -48913,8 +48914,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8c800080 }, .id = HEX_INS_A2_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -48922,8 +48923,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = abs()", .il_ops = { { hex_il_op_a2_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48931,8 +48932,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x808000c0 }, .id = HEX_INS_A2_ABSP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -48940,8 +48941,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = abs()", .il_ops = { { hex_il_op_a2_absp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48949,8 +48950,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8c8000a0 }, .id = HEX_INS_A2_ABSSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -48958,8 +48959,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = abs():sat", .il_ops = { { hex_il_op_a2_abssat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48967,8 +48968,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x808000a0 }, .id = HEX_INS_A2_NEGP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -48976,8 +48977,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = neg()", .il_ops = { { hex_il_op_a2_negp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -48985,8 +48986,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8c8000c0 }, .id = HEX_INS_A2_NEGSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -48994,8 +48995,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = neg():sat", .il_ops = { { hex_il_op_a2_negsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49003,8 +49004,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x80800080 }, .id = HEX_INS_A2_NOTP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -49012,8 +49013,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = not()", .il_ops = { { hex_il_op_a2_notp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49021,17 +49022,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88c00020 }, .id = HEX_INS_A2_ROUNDSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = round():sat", .il_ops = { - { hex_il_op_a2_roundsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_roundsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49039,8 +49040,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88c00000 }, .id = HEX_INS_A2_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -49048,8 +49049,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = sat()", .il_ops = { { hex_il_op_a2_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49057,8 +49058,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8cc000e0 }, .id = HEX_INS_A2_SATB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -49066,8 +49067,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = satb()", .il_ops = { { hex_il_op_a2_satb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49075,8 +49076,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8cc00080 }, .id = HEX_INS_A2_SATH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -49084,8 +49085,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = sath()", .il_ops = { { hex_il_op_a2_sath, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49093,8 +49094,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8cc000c0 }, .id = HEX_INS_A2_SATUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -49102,8 +49103,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = satub()", .il_ops = { { hex_il_op_a2_satub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49111,8 +49112,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8cc000a0 }, .id = HEX_INS_A2_SATUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -49120,8 +49121,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = satuh()", .il_ops = { { hex_il_op_a2_satuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49129,8 +49130,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8c8000e0 }, .id = HEX_INS_A2_SWIZ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -49138,8 +49139,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = swiz()", .il_ops = { { hex_il_op_a2_swiz, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49147,8 +49148,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x84400000 }, .id = HEX_INS_A2_SXTW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -49156,8 +49157,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = sxtw()", .il_ops = { { hex_il_op_a2_sxtw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49165,8 +49166,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x80400080 }, .id = HEX_INS_A2_VABSH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -49174,8 +49175,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = vabsh()", .il_ops = { { hex_il_op_a2_vabsh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49183,8 +49184,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x804000a0 }, .id = HEX_INS_A2_VABSHSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -49192,8 +49193,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = vabsh():sat", .il_ops = { { hex_il_op_a2_vabshsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49201,8 +49202,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x804000c0 }, .id = HEX_INS_A2_VABSW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -49210,8 +49211,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = vabsw()", .il_ops = { { hex_il_op_a2_vabsw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49219,8 +49220,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x804000e0 }, .id = HEX_INS_A2_VABSWSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -49228,8 +49229,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = vabsw():sat", .il_ops = { { hex_il_op_a2_vabswsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49237,8 +49238,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x808000e0 }, .id = HEX_INS_A2_VCONJ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -49246,8 +49247,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = vconj():sat", .il_ops = { { hex_il_op_a2_vconj, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49255,9 +49256,9 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x88c00080 }, .id = HEX_INS_A4_BITSPLITI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -49265,8 +49266,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = bitsplit(,)", .il_ops = { { hex_il_op_a4_bitspliti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49274,18 +49275,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8ce00000 }, .id = HEX_INS_A4_CROUND_RI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cround(,)", .il_ops = { - { hex_il_op_a4_cround_ri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_cround_ri, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49293,9 +49294,9 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8ce00080 }, .id = HEX_INS_A4_ROUND_RI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -49303,8 +49304,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = round(,)", .il_ops = { { hex_il_op_a4_round_ri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49312,9 +49313,9 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8ce000c0 }, .id = HEX_INS_A4_ROUND_RI_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -49322,8 +49323,8 @@ static const HexInsnTemplate templates_normal_0x8[] = { .syntax = " = round(,):sat", .il_ops = { { hex_il_op_a4_round_ri_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49331,18 +49332,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x88c000a0 }, .id = HEX_INS_A7_CLIP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = clip(,)", .il_ops = { - { hex_il_op_a7_clip, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a7_clip, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49350,18 +49351,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x8ce00040 }, .id = HEX_INS_A7_CROUNDD_RI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cround(,)", .il_ops = { - { hex_il_op_a7_croundd_ri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a7_croundd_ri, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49369,18 +49370,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x88c000c0 }, .id = HEX_INS_A7_VCLIP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vclip(,)", .il_ops = { - { hex_il_op_a7_vclip, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a7_vclip, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49388,18 +49389,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000fc, .op = 0x85800000 }, .id = HEX_INS_C2_BITSCLRI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = bitsclr(,)", .il_ops = { - { hex_il_op_c2_bitsclri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_bitsclri, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49407,17 +49408,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffff3ce0, .op = 0x86000000 }, .id = HEX_INS_C2_MASK, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mask()", .il_ops = { - { hex_il_op_c2_mask, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_mask, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49425,17 +49426,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xfffc3fe0, .op = 0x89400000 }, .id = HEX_INS_C2_TFRPR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ", .il_ops = { - { hex_il_op_c2_tfrpr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_tfrpr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49443,17 +49444,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03ffc, .op = 0x85400000 }, .id = HEX_INS_C2_TFRRP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 3 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 3 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ", .il_ops = { - { hex_il_op_c2_tfrrp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_tfrrp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49461,18 +49462,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xfffc3ce0, .op = 0x89000000 }, .id = HEX_INS_C2_VITPACK, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 16 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vitpack(,)", .il_ops = { - { hex_il_op_c2_vitpack, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_vitpack, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49480,18 +49481,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000fc, .op = 0x85a00000 }, .id = HEX_INS_C4_NBITSCLRI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = !bitsclr(,)", .il_ops = { - { hex_il_op_c4_nbitsclri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_nbitsclri, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49499,17 +49500,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x80e00060 }, .id = HEX_INS_F2_CONV_D2DF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_D2df()", .il_ops = { - { hex_il_op_f2_conv_d2df, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_d2df, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49517,17 +49518,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88400020 }, .id = HEX_INS_F2_CONV_D2SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_D2sf()", .il_ops = { - { hex_il_op_f2_conv_d2sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_d2sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49535,17 +49536,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x80e00000 }, .id = HEX_INS_F2_CONV_DF2D, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_df2d()", .il_ops = { - { hex_il_op_f2_conv_df2d, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_df2d, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49553,17 +49554,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x80e000c0 }, .id = HEX_INS_F2_CONV_DF2D_CHOP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_df2d():chop", .il_ops = { - { hex_il_op_f2_conv_df2d_chop, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_df2d_chop, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49571,17 +49572,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88000020 }, .id = HEX_INS_F2_CONV_DF2SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_df2sf()", .il_ops = { - { hex_il_op_f2_conv_df2sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_df2sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49589,17 +49590,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x80e00020 }, .id = HEX_INS_F2_CONV_DF2UD, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_df2ud()", .il_ops = { - { hex_il_op_f2_conv_df2ud, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_df2ud, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49607,17 +49608,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x80e000e0 }, .id = HEX_INS_F2_CONV_DF2UD_CHOP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_df2ud():chop", .il_ops = { - { hex_il_op_f2_conv_df2ud_chop, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_df2ud_chop, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49625,17 +49626,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88600020 }, .id = HEX_INS_F2_CONV_DF2UW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_df2uw()", .il_ops = { - { hex_il_op_f2_conv_df2uw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_df2uw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49643,17 +49644,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88a00020 }, .id = HEX_INS_F2_CONV_DF2UW_CHOP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_df2uw():chop", .il_ops = { - { hex_il_op_f2_conv_df2uw_chop, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_df2uw_chop, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49661,17 +49662,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88800020 }, .id = HEX_INS_F2_CONV_DF2W, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_df2w()", .il_ops = { - { hex_il_op_f2_conv_df2w, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_df2w, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49679,17 +49680,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88e00020 }, .id = HEX_INS_F2_CONV_DF2W_CHOP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_df2w():chop", .il_ops = { - { hex_il_op_f2_conv_df2w_chop, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_df2w_chop, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49697,17 +49698,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x84800080 }, .id = HEX_INS_F2_CONV_SF2D, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_sf2d()", .il_ops = { - { hex_il_op_f2_conv_sf2d, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_sf2d, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49715,17 +49716,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x848000c0 }, .id = HEX_INS_F2_CONV_SF2D_CHOP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_sf2d():chop", .il_ops = { - { hex_il_op_f2_conv_sf2d_chop, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_sf2d_chop, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49733,17 +49734,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x84800000 }, .id = HEX_INS_F2_CONV_SF2DF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_sf2df()", .il_ops = { - { hex_il_op_f2_conv_sf2df, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_sf2df, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49751,17 +49752,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x84800060 }, .id = HEX_INS_F2_CONV_SF2UD, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_sf2ud()", .il_ops = { - { hex_il_op_f2_conv_sf2ud, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_sf2ud, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49769,17 +49770,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x848000a0 }, .id = HEX_INS_F2_CONV_SF2UD_CHOP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_sf2ud():chop", .il_ops = { - { hex_il_op_f2_conv_sf2ud_chop, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_sf2ud_chop, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49787,17 +49788,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8b600000 }, .id = HEX_INS_F2_CONV_SF2UW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_sf2uw()", .il_ops = { - { hex_il_op_f2_conv_sf2uw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_sf2uw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49805,17 +49806,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8b600020 }, .id = HEX_INS_F2_CONV_SF2UW_CHOP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_sf2uw():chop", .il_ops = { - { hex_il_op_f2_conv_sf2uw_chop, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_sf2uw_chop, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49823,17 +49824,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8b800000 }, .id = HEX_INS_F2_CONV_SF2W, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_sf2w()", .il_ops = { - { hex_il_op_f2_conv_sf2w, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_sf2w, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49841,17 +49842,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8b800020 }, .id = HEX_INS_F2_CONV_SF2W_CHOP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_sf2w():chop", .il_ops = { - { hex_il_op_f2_conv_sf2w_chop, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_sf2w_chop, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49859,17 +49860,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x80e00040 }, .id = HEX_INS_F2_CONV_UD2DF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_ud2df()", .il_ops = { - { hex_il_op_f2_conv_ud2df, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_ud2df, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49877,17 +49878,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88200020 }, .id = HEX_INS_F2_CONV_UD2SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_ud2sf()", .il_ops = { - { hex_il_op_f2_conv_ud2sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_ud2sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49895,17 +49896,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x84800020 }, .id = HEX_INS_F2_CONV_UW2DF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_uw2df()", .il_ops = { - { hex_il_op_f2_conv_uw2df, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_uw2df, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49913,17 +49914,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8b200000 }, .id = HEX_INS_F2_CONV_UW2SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_uw2sf()", .il_ops = { - { hex_il_op_f2_conv_uw2sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_uw2sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49931,17 +49932,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x84800040 }, .id = HEX_INS_F2_CONV_W2DF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_W2df()", .il_ops = { - { hex_il_op_f2_conv_w2df, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_w2df, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49949,17 +49950,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8b400000 }, .id = HEX_INS_F2_CONV_W2SF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = convert_W2sf()", .il_ops = { - { hex_il_op_f2_conv_w2sf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_conv_w2sf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49967,18 +49968,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020fc, .op = 0x85e00000 }, .id = HEX_INS_F2_SFCLASS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sfclass(,)", .il_ops = { - { hex_il_op_f2_sfclass, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sfclass, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -49986,17 +49987,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8ba00000 }, .id = HEX_INS_F2_SFFIXUPR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sffixupr()", .il_ops = { - { hex_il_op_f2_sffixupr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sffixupr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50004,18 +50005,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03f80, .op = 0x8be00000 }, .id = HEX_INS_F2_SFINVSQRTA, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 1 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'e', .syntax = 1 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ", = sfinvsqrta()", .il_ops = { - { hex_il_op_f2_sfinvsqrta, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sfinvsqrta, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50023,18 +50024,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x80000040 }, .id = HEX_INS_S2_ASL_I_P, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = asl(,)", .il_ops = { - { hex_il_op_s2_asl_i_p, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_i_p, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50042,18 +50043,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x820000c0 }, .id = HEX_INS_S2_ASL_I_P_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += asl(,)", .il_ops = { - { hex_il_op_s2_asl_i_p_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_i_p_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50061,18 +50062,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x82400040 }, .id = HEX_INS_S2_ASL_I_P_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= asl(,)", .il_ops = { - { hex_il_op_s2_asl_i_p_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_i_p_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50080,18 +50081,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x82000040 }, .id = HEX_INS_S2_ASL_I_P_NAC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= asl(,)", .il_ops = { - { hex_il_op_s2_asl_i_p_nac, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_i_p_nac, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50099,18 +50100,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x824000c0 }, .id = HEX_INS_S2_ASL_I_P_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= asl(,)", .il_ops = { - { hex_il_op_s2_asl_i_p_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_i_p_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50118,18 +50119,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x82800040 }, .id = HEX_INS_S2_ASL_I_P_XACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= asl(,)", .il_ops = { - { hex_il_op_s2_asl_i_p_xacc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_i_p_xacc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50137,18 +50138,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8c000040 }, .id = HEX_INS_S2_ASL_I_R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = asl(,)", .il_ops = { - { hex_il_op_s2_asl_i_r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_i_r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50156,18 +50157,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e0000c0 }, .id = HEX_INS_S2_ASL_I_R_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += asl(,)", .il_ops = { - { hex_il_op_s2_asl_i_r_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_i_r_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50175,18 +50176,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e400040 }, .id = HEX_INS_S2_ASL_I_R_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= asl(,)", .il_ops = { - { hex_il_op_s2_asl_i_r_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_i_r_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50194,18 +50195,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e000040 }, .id = HEX_INS_S2_ASL_I_R_NAC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= asl(,)", .il_ops = { - { hex_il_op_s2_asl_i_r_nac, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_i_r_nac, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50213,18 +50214,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e4000c0 }, .id = HEX_INS_S2_ASL_I_R_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= asl(,)", .il_ops = { - { hex_il_op_s2_asl_i_r_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_i_r_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50232,18 +50233,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8c400040 }, .id = HEX_INS_S2_ASL_I_R_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = asl(,):sat", .il_ops = { - { hex_il_op_s2_asl_i_r_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_i_r_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50251,18 +50252,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e800040 }, .id = HEX_INS_S2_ASL_I_R_XACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= asl(,)", .il_ops = { - { hex_il_op_s2_asl_i_r_xacc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_i_r_xacc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50270,18 +50271,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe030e0, .op = 0x80800040 }, .id = HEX_INS_S2_ASL_I_VH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vaslh(,)", .il_ops = { - { hex_il_op_s2_asl_i_vh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_i_vh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50289,18 +50290,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x80400040 }, .id = HEX_INS_S2_ASL_I_VW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vaslw(,)", .il_ops = { - { hex_il_op_s2_asl_i_vw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_i_vw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50308,18 +50309,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x80000000 }, .id = HEX_INS_S2_ASR_I_P, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = asr(,)", .il_ops = { - { hex_il_op_s2_asr_i_p, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_i_p, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50327,18 +50328,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x82000080 }, .id = HEX_INS_S2_ASR_I_P_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += asr(,)", .il_ops = { - { hex_il_op_s2_asr_i_p_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_i_p_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50346,18 +50347,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x82400000 }, .id = HEX_INS_S2_ASR_I_P_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= asr(,)", .il_ops = { - { hex_il_op_s2_asr_i_p_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_i_p_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50365,18 +50366,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x82000000 }, .id = HEX_INS_S2_ASR_I_P_NAC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= asr(,)", .il_ops = { - { hex_il_op_s2_asr_i_p_nac, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_i_p_nac, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50384,18 +50385,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x82400080 }, .id = HEX_INS_S2_ASR_I_P_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= asr(,)", .il_ops = { - { hex_il_op_s2_asr_i_p_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_i_p_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50403,18 +50404,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x80c000e0 }, .id = HEX_INS_S2_ASR_I_P_RND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = asr(,):rnd", .il_ops = { - { hex_il_op_s2_asr_i_p_rnd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_i_p_rnd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50422,18 +50423,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8c000000 }, .id = HEX_INS_S2_ASR_I_R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = asr(,)", .il_ops = { - { hex_il_op_s2_asr_i_r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_i_r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50441,18 +50442,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e000080 }, .id = HEX_INS_S2_ASR_I_R_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += asr(,)", .il_ops = { - { hex_il_op_s2_asr_i_r_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_i_r_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50460,18 +50461,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e400000 }, .id = HEX_INS_S2_ASR_I_R_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= asr(,)", .il_ops = { - { hex_il_op_s2_asr_i_r_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_i_r_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50479,18 +50480,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e000000 }, .id = HEX_INS_S2_ASR_I_R_NAC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= asr(,)", .il_ops = { - { hex_il_op_s2_asr_i_r_nac, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_i_r_nac, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50498,18 +50499,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e400080 }, .id = HEX_INS_S2_ASR_I_R_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= asr(,)", .il_ops = { - { hex_il_op_s2_asr_i_r_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_i_r_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50517,18 +50518,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8c400000 }, .id = HEX_INS_S2_ASR_I_R_RND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = asr(,):rnd", .il_ops = { - { hex_il_op_s2_asr_i_r_rnd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_i_r_rnd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50536,18 +50537,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x88c00040 }, .id = HEX_INS_S2_ASR_I_SVW_TRUN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vasrw(,)", .il_ops = { - { hex_il_op_s2_asr_i_svw_trun, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_i_svw_trun, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50555,18 +50556,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe030e0, .op = 0x80800000 }, .id = HEX_INS_S2_ASR_I_VH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vasrh(,)", .il_ops = { - { hex_il_op_s2_asr_i_vh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_i_vh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50574,18 +50575,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x80400000 }, .id = HEX_INS_S2_ASR_I_VW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vasrw(,)", .il_ops = { - { hex_il_op_s2_asr_i_vw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_i_vw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50593,17 +50594,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8c4000c0 }, .id = HEX_INS_S2_BREV, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = brev()", .il_ops = { - { hex_il_op_s2_brev, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_brev, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50611,17 +50612,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x80c000c0 }, .id = HEX_INS_S2_BREVP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = brev()", .il_ops = { - { hex_il_op_s2_brevp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_brevp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50629,17 +50630,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8c0000a0 }, .id = HEX_INS_S2_CL0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cl0()", .il_ops = { - { hex_il_op_s2_cl0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_cl0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50647,17 +50648,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88400040 }, .id = HEX_INS_S2_CL0P, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cl0()", .il_ops = { - { hex_il_op_s2_cl0p, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_cl0p, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50665,17 +50666,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8c0000c0 }, .id = HEX_INS_S2_CL1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cl1()", .il_ops = { - { hex_il_op_s2_cl1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_cl1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50683,17 +50684,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88400080 }, .id = HEX_INS_S2_CL1P, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cl1()", .il_ops = { - { hex_il_op_s2_cl1p, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_cl1p, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50701,17 +50702,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8c000080 }, .id = HEX_INS_S2_CLB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = clb()", .il_ops = { - { hex_il_op_s2_clb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_clb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50719,17 +50720,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8c0000e0 }, .id = HEX_INS_S2_CLBNORM, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = normamt()", .il_ops = { - { hex_il_op_s2_clbnorm, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_clbnorm, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50737,17 +50738,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88400000 }, .id = HEX_INS_S2_CLBP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = clb()", .il_ops = { - { hex_il_op_s2_clbp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_clbp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50755,18 +50756,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8cc00020 }, .id = HEX_INS_S2_CLRBIT_I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = clrbit(,)", .il_ops = { - { hex_il_op_s2_clrbit_i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_clrbit_i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50774,17 +50775,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8c400080 }, .id = HEX_INS_S2_CT0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ct0()", .il_ops = { - { hex_il_op_s2_ct0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_ct0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50792,17 +50793,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88e00040 }, .id = HEX_INS_S2_CT0P, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ct0()", .il_ops = { - { hex_il_op_s2_ct0p, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_ct0p, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50810,17 +50811,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8c4000a0 }, .id = HEX_INS_S2_CT1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ct1()", .il_ops = { - { hex_il_op_s2_ct1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_ct1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50828,17 +50829,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88e00080 }, .id = HEX_INS_S2_CT1P, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = ct1()", .il_ops = { - { hex_il_op_s2_ct1p, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_ct1p, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50846,17 +50847,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x80c00080 }, .id = HEX_INS_S2_DEINTERLEAVE, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = deinterleave()", .il_ops = { - { hex_il_op_s2_deinterleave, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_deinterleave, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50864,19 +50865,19 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xff802000, .op = 0x8d000000 }, .id = HEX_INS_S2_EXTRACTU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x2, 21 } }, .isa_id = 'U', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = extractu(,,)", .il_ops = { - { hex_il_op_s2_extractu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_extractu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50884,19 +50885,19 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xff000000, .op = 0x81000000 }, .id = HEX_INS_S2_EXTRACTUP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 8 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x3, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x3, 21 } }, .isa_id = 'U', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = extractu(,,)", .il_ops = { - { hex_il_op_s2_extractup, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_extractup, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50904,19 +50905,19 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xff802000, .op = 0x8f000000 }, .id = HEX_INS_S2_INSERT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x2, 21 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x2, 21 } }, .isa_id = 'U', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = insert(,,)", .il_ops = { - { hex_il_op_s2_insert, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_insert, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50924,19 +50925,19 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xff000000, .op = 0x83000000 }, .id = HEX_INS_S2_INSERTP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 8 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x3, 21 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x3, 21 } }, .isa_id = 'U', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = insert(,,)", .il_ops = { - { hex_il_op_s2_insertp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_insertp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50944,17 +50945,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x80c000a0 }, .id = HEX_INS_S2_INTERLEAVE, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = interleave()", .il_ops = { - { hex_il_op_s2_interleave, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_interleave, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50962,18 +50963,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x80000020 }, .id = HEX_INS_S2_LSR_I_P, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_i_p, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_i_p, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -50981,18 +50982,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x820000a0 }, .id = HEX_INS_S2_LSR_I_P_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_i_p_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_i_p_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51000,18 +51001,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x82400020 }, .id = HEX_INS_S2_LSR_I_P_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_i_p_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_i_p_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51019,18 +51020,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x82000020 }, .id = HEX_INS_S2_LSR_I_P_NAC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_i_p_nac, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_i_p_nac, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51038,18 +51039,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x824000a0 }, .id = HEX_INS_S2_LSR_I_P_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_i_p_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_i_p_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51057,18 +51058,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x82800020 }, .id = HEX_INS_S2_LSR_I_P_XACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_i_p_xacc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_i_p_xacc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51076,18 +51077,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8c000020 }, .id = HEX_INS_S2_LSR_I_R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_i_r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_i_r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51095,18 +51096,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e0000a0 }, .id = HEX_INS_S2_LSR_I_R_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_i_r_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_i_r_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51114,18 +51115,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e400020 }, .id = HEX_INS_S2_LSR_I_R_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_i_r_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_i_r_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51133,18 +51134,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e000020 }, .id = HEX_INS_S2_LSR_I_R_NAC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_i_r_nac, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_i_r_nac, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51152,18 +51153,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e4000a0 }, .id = HEX_INS_S2_LSR_I_R_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_i_r_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_i_r_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51171,18 +51172,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e800020 }, .id = HEX_INS_S2_LSR_I_R_XACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_i_r_xacc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_i_r_xacc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51190,18 +51191,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe030e0, .op = 0x80800020 }, .id = HEX_INS_S2_LSR_I_VH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vlsrh(,)", .il_ops = { - { hex_il_op_s2_lsr_i_vh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_i_vh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51209,18 +51210,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x80400020 }, .id = HEX_INS_S2_LSR_I_VW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vlsrw(,)", .il_ops = { - { hex_il_op_s2_lsr_i_vw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_i_vw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51228,18 +51229,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xff9f2000, .op = 0x8d002000 }, .id = HEX_INS_S2_MASK, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x2, 21 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x2, 21 } }, .isa_id = 'U', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mask(,)", .il_ops = { - { hex_il_op_s2_mask, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_mask, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51247,18 +51248,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8cc00000 }, .id = HEX_INS_S2_SETBIT_I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = setbit(,)", .il_ops = { - { hex_il_op_s2_setbit_i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_setbit_i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51266,17 +51267,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8c800000 }, .id = HEX_INS_S2_SVSATHB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsathb()", .il_ops = { - { hex_il_op_s2_svsathb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_svsathb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51284,17 +51285,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8c800040 }, .id = HEX_INS_S2_SVSATHUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsathub()", .il_ops = { - { hex_il_op_s2_svsathub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_svsathub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51302,19 +51303,19 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffc00000, .op = 0x87000000 }, .id = HEX_INS_S2_TABLEIDXB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x1, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 8 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x1, 21 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 8 } }, .isa_id = 'S', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = tableidxb(,,):raw", .il_ops = { - { hex_il_op_s2_tableidxb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_tableidxb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51322,19 +51323,19 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffc00000, .op = 0x87c00000 }, .id = HEX_INS_S2_TABLEIDXD, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x1, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 8 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x1, 21 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 8 } }, .isa_id = 'S', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = tableidxd(,,):raw", .il_ops = { - { hex_il_op_s2_tableidxd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_tableidxd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51342,19 +51343,19 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffc00000, .op = 0x87400000 }, .id = HEX_INS_S2_TABLEIDXH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x1, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 8 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x1, 21 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 8 } }, .isa_id = 'S', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = tableidxh(,,):raw", .il_ops = { - { hex_il_op_s2_tableidxh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_tableidxh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51362,19 +51363,19 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffc00000, .op = 0x87800000 }, .id = HEX_INS_S2_TABLEIDXW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x1, 21 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 8 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x1, 21 } }, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED, .masks = { { 0x6, 8 } }, .isa_id = 'S', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = tableidxw(,,):raw", .il_ops = { - { hex_il_op_s2_tableidxw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_tableidxw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51382,18 +51383,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8cc00040 }, .id = HEX_INS_S2_TOGGLEBIT_I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = togglebit(,)", .il_ops = { - { hex_il_op_s2_togglebit_i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_togglebit_i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51401,18 +51402,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020fc, .op = 0x85000000 }, .id = HEX_INS_S2_TSTBIT_I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = tstbit(,)", .il_ops = { - { hex_il_op_s2_tstbit_i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_tstbit_i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51420,17 +51421,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88800080 }, .id = HEX_INS_S2_VRNDPACKWH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrndwh()", .il_ops = { - { hex_il_op_s2_vrndpackwh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vrndpackwh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51438,17 +51439,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x888000c0 }, .id = HEX_INS_S2_VRNDPACKWHS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrndwh():sat", .il_ops = { - { hex_il_op_s2_vrndpackwhs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vrndpackwhs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51456,17 +51457,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x880000c0 }, .id = HEX_INS_S2_VSATHB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsathb()", .il_ops = { - { hex_il_op_s2_vsathb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vsathb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51474,17 +51475,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x800000e0 }, .id = HEX_INS_S2_VSATHB_NOPACK, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsathb()", .il_ops = { - { hex_il_op_s2_vsathb_nopack, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vsathb_nopack, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51492,17 +51493,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88000000 }, .id = HEX_INS_S2_VSATHUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsathub()", .il_ops = { - { hex_il_op_s2_vsathub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vsathub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51510,17 +51511,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x80000080 }, .id = HEX_INS_S2_VSATHUB_NOPACK, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsathub()", .il_ops = { - { hex_il_op_s2_vsathub_nopack, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vsathub_nopack, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51528,17 +51529,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88000040 }, .id = HEX_INS_S2_VSATWH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsatwh()", .il_ops = { - { hex_il_op_s2_vsatwh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vsatwh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51546,17 +51547,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x800000c0 }, .id = HEX_INS_S2_VSATWH_NOPACK, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsatwh()", .il_ops = { - { hex_il_op_s2_vsatwh_nopack, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vsatwh_nopack, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51564,17 +51565,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88000080 }, .id = HEX_INS_S2_VSATWUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsatwuh()", .il_ops = { - { hex_il_op_s2_vsatwuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vsatwuh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51582,17 +51583,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x800000a0 }, .id = HEX_INS_S2_VSATWUH_NOPACK, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsatwuh()", .il_ops = { - { hex_il_op_s2_vsatwuh_nopack, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vsatwuh_nopack, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51600,17 +51601,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x8c4000e0 }, .id = HEX_INS_S2_VSPLATRB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsplatb()", .il_ops = { - { hex_il_op_s2_vsplatrb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vsplatrb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51618,17 +51619,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x84400040 }, .id = HEX_INS_S2_VSPLATRH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsplath()", .il_ops = { - { hex_il_op_s2_vsplatrh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vsplatrh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51636,17 +51637,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x84000000 }, .id = HEX_INS_S2_VSXTBH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsxtbh()", .il_ops = { - { hex_il_op_s2_vsxtbh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vsxtbh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51654,17 +51655,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x84000080 }, .id = HEX_INS_S2_VSXTHW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsxthw()", .il_ops = { - { hex_il_op_s2_vsxthw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vsxthw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51672,17 +51673,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88800040 }, .id = HEX_INS_S2_VTRUNEHB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vtrunehb()", .il_ops = { - { hex_il_op_s2_vtrunehb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vtrunehb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51690,17 +51691,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88800000 }, .id = HEX_INS_S2_VTRUNOHB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vtrunohb()", .il_ops = { - { hex_il_op_s2_vtrunohb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vtrunohb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51708,17 +51709,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x84000040 }, .id = HEX_INS_S2_VZXTBH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vzxtbh()", .il_ops = { - { hex_il_op_s2_vzxtbh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vzxtbh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51726,17 +51727,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x840000c0 }, .id = HEX_INS_S2_VZXTHW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vzxthw()", .il_ops = { - { hex_il_op_s2_vzxthw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vzxthw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51744,18 +51745,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x8c200000 }, .id = HEX_INS_S4_CLBADDI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(clb(),)", .il_ops = { - { hex_il_op_s4_clbaddi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_clbaddi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51763,18 +51764,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x88600040 }, .id = HEX_INS_S4_CLBPADDI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(clb(),)", .il_ops = { - { hex_il_op_s4_clbpaddi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_clbpaddi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51782,17 +51783,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88600000 }, .id = HEX_INS_S4_CLBPNORM, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = normamt()", .il_ops = { - { hex_il_op_s4_clbpnorm, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_clbpnorm, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51800,19 +51801,19 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xff802000, .op = 0x8d800000 }, .id = HEX_INS_S4_EXTRACT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x2, 21 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x2, 21 } }, .isa_id = 'U', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = extract(,,)", .il_ops = { - { hex_il_op_s4_extract, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_extract, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51820,19 +51821,19 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xff000000, .op = 0x8a000000 }, .id = HEX_INS_S4_EXTRACTP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 8 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x3, 21 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x3, 5 }, { 0x3, 21 } }, .isa_id = 'U', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = extract(,,)", .il_ops = { - { hex_il_op_s4_extractp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_extractp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51840,18 +51841,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020fc, .op = 0x85200000 }, .id = HEX_INS_S4_NTSTBIT_I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = !tstbit(,)", .il_ops = { - { hex_il_op_s4_ntstbit_i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_ntstbit_i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51859,18 +51860,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe030e0, .op = 0x88600080 }, .id = HEX_INS_S5_ASRHUB_RND_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vasrhub(,):raw", .il_ops = { - { hex_il_op_s5_asrhub_rnd_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s5_asrhub_rnd_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51878,18 +51879,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe030e0, .op = 0x886000a0 }, .id = HEX_INS_S5_ASRHUB_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vasrhub(,):sat", .il_ops = { - { hex_il_op_s5_asrhub_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s5_asrhub_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51897,17 +51898,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x88600060 }, .id = HEX_INS_S5_POPCOUNTP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = popcount()", .il_ops = { - { hex_il_op_s5_popcountp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s5_popcountp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51915,18 +51916,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe030e0, .op = 0x80200000 }, .id = HEX_INS_S5_VASRHRND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 8 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vasrh(,):raw", .il_ops = { - { hex_il_op_s5_vasrhrnd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s5_vasrhrnd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51934,18 +51935,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x80000060 }, .id = HEX_INS_S6_ROL_I_P, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = rol(,)", .il_ops = { - { hex_il_op_s6_rol_i_p, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s6_rol_i_p, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51953,18 +51954,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x820000e0 }, .id = HEX_INS_S6_ROL_I_P_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += rol(,)", .il_ops = { - { hex_il_op_s6_rol_i_p_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s6_rol_i_p_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51972,18 +51973,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x82400060 }, .id = HEX_INS_S6_ROL_I_P_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= rol(,)", .il_ops = { - { hex_il_op_s6_rol_i_p_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s6_rol_i_p_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -51991,18 +51992,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x82000060 }, .id = HEX_INS_S6_ROL_I_P_NAC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= rol(,)", .il_ops = { - { hex_il_op_s6_rol_i_p_nac, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s6_rol_i_p_nac, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52010,18 +52011,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x824000e0 }, .id = HEX_INS_S6_ROL_I_P_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= rol(,)", .il_ops = { - { hex_il_op_s6_rol_i_p_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s6_rol_i_p_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52029,18 +52030,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe000e0, .op = 0x82800060 }, .id = HEX_INS_S6_ROL_I_P_XACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x6, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= rol(,)", .il_ops = { - { hex_il_op_s6_rol_i_p_xacc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s6_rol_i_p_xacc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52048,18 +52049,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8c000060 }, .id = HEX_INS_S6_ROL_I_R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = rol(,)", .il_ops = { - { hex_il_op_s6_rol_i_r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s6_rol_i_r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52067,18 +52068,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e0000e0 }, .id = HEX_INS_S6_ROL_I_R_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += rol(,)", .il_ops = { - { hex_il_op_s6_rol_i_r_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s6_rol_i_r_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52086,18 +52087,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e400060 }, .id = HEX_INS_S6_ROL_I_R_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= rol(,)", .il_ops = { - { hex_il_op_s6_rol_i_r_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s6_rol_i_r_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52105,18 +52106,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e000060 }, .id = HEX_INS_S6_ROL_I_R_NAC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= rol(,)", .il_ops = { - { hex_il_op_s6_rol_i_r_nac, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s6_rol_i_r_nac, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52124,18 +52125,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e4000e0 }, .id = HEX_INS_S6_ROL_I_R_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= rol(,)", .il_ops = { - { hex_il_op_s6_rol_i_r_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s6_rol_i_r_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52143,18 +52144,18 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe020e0, .op = 0x8e800060 }, .id = HEX_INS_S6_ROL_I_R_XACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 8 } }, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= rol(,)", .il_ops = { - { hex_il_op_s6_rol_i_r_xacc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s6_rol_i_r_xacc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52162,17 +52163,17 @@ static const HexInsnTemplate templates_normal_0x8[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x84400080 }, .id = HEX_INS_S6_VSPLATRBP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vsplatb()", .il_ops = { - { hex_il_op_s6_vsplatrbp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s6_vsplatrbp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -52184,17 +52185,17 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x90000000 }, .id = HEX_INS_L2_DEALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = deallocframe():raw", .il_ops = { - { hex_il_op_l2_deallocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_deallocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52202,18 +52203,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xf9e00000, .op = 0x90800000 }, .id = HEX_INS_L2_LOADALIGNB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb_fifo(+)", .il_ops = { - { hex_il_op_l2_loadalignb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadalignb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52221,18 +52222,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9e800000 }, .id = HEX_INS_L2_LOADALIGNB_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb_fifo(++:brev)", .il_ops = { - { hex_il_op_l2_loadalignb_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadalignb_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52240,19 +52241,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01e00, .op = 0x98800000 }, .id = HEX_INS_L2_LOADALIGNB_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb_fifo(++:circ())", .il_ops = { - { hex_il_op_l2_loadalignb_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadalignb_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52260,18 +52261,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x98800200 }, .id = HEX_INS_L2_LOADALIGNB_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb_fifo(++I:circ())", .il_ops = { - { hex_il_op_l2_loadalignb_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadalignb_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52279,18 +52280,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03e00, .op = 0x9a800000 }, .id = HEX_INS_L2_LOADALIGNB_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb_fifo(++)", .il_ops = { - { hex_il_op_l2_loadalignb_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadalignb_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52298,18 +52299,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9c800000 }, .id = HEX_INS_L2_LOADALIGNB_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb_fifo(++)", .il_ops = { - { hex_il_op_l2_loadalignb_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadalignb_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52317,18 +52318,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xf9e00000, .op = 0x90400000 }, .id = HEX_INS_L2_LOADALIGNH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .isa_id = 's', .imm_scale = 1, .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh_fifo(+)", .il_ops = { - { hex_il_op_l2_loadalignh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadalignh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52336,18 +52337,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9e400000 }, .id = HEX_INS_L2_LOADALIGNH_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh_fifo(++:brev)", .il_ops = { - { hex_il_op_l2_loadalignh_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadalignh_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52355,19 +52356,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01e00, .op = 0x98400000 }, .id = HEX_INS_L2_LOADALIGNH_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 21 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh_fifo(++:circ())", .il_ops = { - { hex_il_op_l2_loadalignh_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadalignh_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52375,18 +52376,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x98400200 }, .id = HEX_INS_L2_LOADALIGNH_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 22 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh_fifo(++I:circ())", .il_ops = { - { hex_il_op_l2_loadalignh_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadalignh_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52394,18 +52395,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03e00, .op = 0x9a400000 }, .id = HEX_INS_L2_LOADALIGNH_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh_fifo(++)", .il_ops = { - { hex_il_op_l2_loadalignh_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadalignh_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52413,18 +52414,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9c400000 }, .id = HEX_INS_L2_LOADALIGNH_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh_fifo(++)", .il_ops = { - { hex_il_op_l2_loadalignh_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadalignh_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52432,18 +52433,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xf9e00000, .op = 0x90200000 }, .id = HEX_INS_L2_LOADBSW2_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .isa_id = 's', .imm_scale = 1, .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = membh(+)", .il_ops = { - { hex_il_op_l2_loadbsw2_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbsw2_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52451,18 +52452,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9e200000 }, .id = HEX_INS_L2_LOADBSW2_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = membh(++:brev)", .il_ops = { - { hex_il_op_l2_loadbsw2_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbsw2_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52470,19 +52471,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01e00, .op = 0x98200000 }, .id = HEX_INS_L2_LOADBSW2_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = membh(++:circ())", .il_ops = { - { hex_il_op_l2_loadbsw2_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbsw2_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52490,18 +52491,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x98200200 }, .id = HEX_INS_L2_LOADBSW2_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = membh(++I:circ())", .il_ops = { - { hex_il_op_l2_loadbsw2_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbsw2_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52509,18 +52510,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03e00, .op = 0x9a200000 }, .id = HEX_INS_L2_LOADBSW2_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = membh(++)", .il_ops = { - { hex_il_op_l2_loadbsw2_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbsw2_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52528,18 +52529,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9c200000 }, .id = HEX_INS_L2_LOADBSW2_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = membh(++)", .il_ops = { - { hex_il_op_l2_loadbsw2_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbsw2_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52547,18 +52548,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xf9e00000, .op = 0x90e00000 }, .id = HEX_INS_L2_LOADBSW4_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .imm_scale = 2, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .isa_id = 's', .imm_scale = 2, .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = membh(+)", .il_ops = { - { hex_il_op_l2_loadbsw4_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbsw4_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52566,18 +52567,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9ee00000 }, .id = HEX_INS_L2_LOADBSW4_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = membh(++:brev)", .il_ops = { - { hex_il_op_l2_loadbsw4_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbsw4_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52585,19 +52586,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01e00, .op = 0x98e00000 }, .id = HEX_INS_L2_LOADBSW4_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 2, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = membh(++:circ())", .il_ops = { - { hex_il_op_l2_loadbsw4_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbsw4_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52605,18 +52606,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x98e00200 }, .id = HEX_INS_L2_LOADBSW4_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = membh(++I:circ())", .il_ops = { - { hex_il_op_l2_loadbsw4_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbsw4_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52624,18 +52625,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03e00, .op = 0x9ae00000 }, .id = HEX_INS_L2_LOADBSW4_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = membh(++)", .il_ops = { - { hex_il_op_l2_loadbsw4_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbsw4_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52643,18 +52644,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9ce00000 }, .id = HEX_INS_L2_LOADBSW4_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = membh(++)", .il_ops = { - { hex_il_op_l2_loadbsw4_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbsw4_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52662,18 +52663,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xf9e00000, .op = 0x90600000 }, .id = HEX_INS_L2_LOADBZW2_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .isa_id = 's', .imm_scale = 1, .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memubh(+)", .il_ops = { - { hex_il_op_l2_loadbzw2_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbzw2_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52681,18 +52682,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9e600000 }, .id = HEX_INS_L2_LOADBZW2_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memubh(++:brev)", .il_ops = { - { hex_il_op_l2_loadbzw2_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbzw2_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52700,19 +52701,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01e00, .op = 0x98600000 }, .id = HEX_INS_L2_LOADBZW2_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memubh(++:circ())", .il_ops = { - { hex_il_op_l2_loadbzw2_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbzw2_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52720,18 +52721,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x98600200 }, .id = HEX_INS_L2_LOADBZW2_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memubh(++I:circ())", .il_ops = { - { hex_il_op_l2_loadbzw2_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbzw2_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52739,18 +52740,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03e00, .op = 0x9a600000 }, .id = HEX_INS_L2_LOADBZW2_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memubh(++)", .il_ops = { - { hex_il_op_l2_loadbzw2_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbzw2_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52758,18 +52759,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9c600000 }, .id = HEX_INS_L2_LOADBZW2_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memubh(++)", .il_ops = { - { hex_il_op_l2_loadbzw2_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbzw2_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52777,18 +52778,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xf9e00000, .op = 0x90a00000 }, .id = HEX_INS_L2_LOADBZW4_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .imm_scale = 2, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .isa_id = 's', .imm_scale = 2, .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memubh(+)", .il_ops = { - { hex_il_op_l2_loadbzw4_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbzw4_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52796,18 +52797,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9ea00000 }, .id = HEX_INS_L2_LOADBZW4_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memubh(++:brev)", .il_ops = { - { hex_il_op_l2_loadbzw4_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbzw4_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52815,19 +52816,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01e00, .op = 0x98a00000 }, .id = HEX_INS_L2_LOADBZW4_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 2, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memubh(++:circ())", .il_ops = { - { hex_il_op_l2_loadbzw4_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbzw4_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52835,18 +52836,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x98a00200 }, .id = HEX_INS_L2_LOADBZW4_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memubh(++I:circ())", .il_ops = { - { hex_il_op_l2_loadbzw4_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbzw4_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52854,18 +52855,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03e00, .op = 0x9aa00000 }, .id = HEX_INS_L2_LOADBZW4_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 2, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 2, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memubh(++)", .il_ops = { - { hex_il_op_l2_loadbzw4_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbzw4_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52873,18 +52874,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9ca00000 }, .id = HEX_INS_L2_LOADBZW4_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memubh(++)", .il_ops = { - { hex_il_op_l2_loadbzw4_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadbzw4_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52892,18 +52893,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xf9e00000, .op = 0x91000000 }, .id = HEX_INS_L2_LOADRB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(+)", .il_ops = { - { hex_il_op_l2_loadrb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52911,18 +52912,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9f000000 }, .id = HEX_INS_L2_LOADRB_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(++:brev)", .il_ops = { - { hex_il_op_l2_loadrb_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrb_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52930,19 +52931,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01e00, .op = 0x99000000 }, .id = HEX_INS_L2_LOADRB_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(++:circ())", .il_ops = { - { hex_il_op_l2_loadrb_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrb_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52950,18 +52951,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x99000200 }, .id = HEX_INS_L2_LOADRB_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(++I:circ())", .il_ops = { - { hex_il_op_l2_loadrb_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrb_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52969,18 +52970,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03e00, .op = 0x9b000000 }, .id = HEX_INS_L2_LOADRB_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(++)", .il_ops = { - { hex_il_op_l2_loadrb_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrb_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -52988,18 +52989,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9d000000 }, .id = HEX_INS_L2_LOADRB_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(++)", .il_ops = { - { hex_il_op_l2_loadrb_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrb_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53007,18 +53008,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xf9e00000, .op = 0x91c00000 }, .id = HEX_INS_L2_LOADRD_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .imm_scale = 3, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .isa_id = 's', .imm_scale = 3, .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(+)", .il_ops = { - { hex_il_op_l2_loadrd_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrd_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53026,18 +53027,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9fc00000 }, .id = HEX_INS_L2_LOADRD_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(++:brev)", .il_ops = { - { hex_il_op_l2_loadrd_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrd_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53045,19 +53046,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01e00, .op = 0x99c00000 }, .id = HEX_INS_L2_LOADRD_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 3, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 3, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(++:circ())", .il_ops = { - { hex_il_op_l2_loadrd_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrd_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53065,18 +53066,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x99c00200 }, .id = HEX_INS_L2_LOADRD_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(++I:circ())", .il_ops = { - { hex_il_op_l2_loadrd_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrd_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53084,18 +53085,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03e00, .op = 0x9bc00000 }, .id = HEX_INS_L2_LOADRD_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 3, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 3, .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(++)", .il_ops = { - { hex_il_op_l2_loadrd_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrd_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53103,18 +53104,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9dc00000 }, .id = HEX_INS_L2_LOADRD_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(++)", .il_ops = { - { hex_il_op_l2_loadrd_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrd_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53122,18 +53123,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xf9e00000, .op = 0x91400000 }, .id = HEX_INS_L2_LOADRH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .isa_id = 's', .imm_scale = 1, .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(+)", .il_ops = { - { hex_il_op_l2_loadrh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53141,18 +53142,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9f400000 }, .id = HEX_INS_L2_LOADRH_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(++:brev)", .il_ops = { - { hex_il_op_l2_loadrh_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrh_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53160,19 +53161,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01e00, .op = 0x99400000 }, .id = HEX_INS_L2_LOADRH_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(++:circ())", .il_ops = { - { hex_il_op_l2_loadrh_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrh_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53180,18 +53181,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x99400200 }, .id = HEX_INS_L2_LOADRH_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(++I:circ())", .il_ops = { - { hex_il_op_l2_loadrh_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrh_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53199,18 +53200,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03e00, .op = 0x9b400000 }, .id = HEX_INS_L2_LOADRH_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(++)", .il_ops = { - { hex_il_op_l2_loadrh_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrh_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53218,18 +53219,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9d400000 }, .id = HEX_INS_L2_LOADRH_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(++)", .il_ops = { - { hex_il_op_l2_loadrh_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrh_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53237,18 +53238,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xf9e00000, .op = 0x91800000 }, .id = HEX_INS_L2_LOADRI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .imm_scale = 2, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .isa_id = 's', .imm_scale = 2, .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(+)", .il_ops = { - { hex_il_op_l2_loadri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53256,18 +53257,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9f800000 }, .id = HEX_INS_L2_LOADRI_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(++:brev)", .il_ops = { - { hex_il_op_l2_loadri_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadri_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53275,19 +53276,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01e00, .op = 0x99800000 }, .id = HEX_INS_L2_LOADRI_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 2, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 2, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(++:circ())", .il_ops = { - { hex_il_op_l2_loadri_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadri_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53295,18 +53296,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x99800200 }, .id = HEX_INS_L2_LOADRI_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(++I:circ())", .il_ops = { - { hex_il_op_l2_loadri_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadri_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53314,18 +53315,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03e00, .op = 0x9b800000 }, .id = HEX_INS_L2_LOADRI_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 2, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 2, .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(++)", .il_ops = { - { hex_il_op_l2_loadri_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadri_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53333,18 +53334,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9d800000 }, .id = HEX_INS_L2_LOADRI_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(++)", .il_ops = { - { hex_il_op_l2_loadri_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadri_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53352,18 +53353,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xf9e00000, .op = 0x91200000 }, .id = HEX_INS_L2_LOADRUB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(+)", .il_ops = { - { hex_il_op_l2_loadrub_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrub_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53371,18 +53372,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9f200000 }, .id = HEX_INS_L2_LOADRUB_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(++:brev)", .il_ops = { - { hex_il_op_l2_loadrub_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrub_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53390,19 +53391,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01e00, .op = 0x99200000 }, .id = HEX_INS_L2_LOADRUB_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(++:circ())", .il_ops = { - { hex_il_op_l2_loadrub_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrub_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53410,18 +53411,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x99200200 }, .id = HEX_INS_L2_LOADRUB_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(++I:circ())", .il_ops = { - { hex_il_op_l2_loadrub_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrub_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53429,18 +53430,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03e00, .op = 0x9b200000 }, .id = HEX_INS_L2_LOADRUB_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(++)", .il_ops = { - { hex_il_op_l2_loadrub_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrub_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53448,18 +53449,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9d200000 }, .id = HEX_INS_L2_LOADRUB_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(++)", .il_ops = { - { hex_il_op_l2_loadrub_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadrub_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53467,18 +53468,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xf9e00000, .op = 0x91600000 }, .id = HEX_INS_L2_LOADRUH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x2, 25 } }, .isa_id = 's', .imm_scale = 1, .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(+)", .il_ops = { - { hex_il_op_l2_loadruh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadruh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53486,18 +53487,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9f600000 }, .id = HEX_INS_L2_LOADRUH_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(++:brev)", .il_ops = { - { hex_il_op_l2_loadruh_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadruh_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53505,19 +53506,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01e00, .op = 0x99600000 }, .id = HEX_INS_L2_LOADRUH_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(++:circ())", .il_ops = { - { hex_il_op_l2_loadruh_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadruh_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53525,18 +53526,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x99600200 }, .id = HEX_INS_L2_LOADRUH_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(++I:circ())", .il_ops = { - { hex_il_op_l2_loadruh_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadruh_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53544,18 +53545,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03e00, .op = 0x9b600000 }, .id = HEX_INS_L2_LOADRUH_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(++)", .il_ops = { - { hex_il_op_l2_loadruh_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadruh_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53563,18 +53564,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01fe0, .op = 0x9d600000 }, .id = HEX_INS_L2_LOADRUH_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(++)", .il_ops = { - { hex_il_op_l2_loadruh_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadruh_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53582,17 +53583,17 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x92000800 }, .id = HEX_INS_L2_LOADW_AQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw_aq()", .il_ops = { - { hex_il_op_l2_loadw_aq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadw_aq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53600,17 +53601,17 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x92000000 }, .id = HEX_INS_L2_LOADW_LOCKED, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw_locked()", .il_ops = { - { hex_il_op_l2_loadw_locked, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_loadw_locked, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53618,10 +53619,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b002800 }, .id = HEX_INS_L2_PLOADRBF_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -53629,9 +53630,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!) = memb(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrbf_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrbf_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53639,10 +53640,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b003800 }, .id = HEX_INS_L2_PLOADRBFNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -53650,9 +53651,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!.new) = memb(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrbfnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrbfnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53660,10 +53661,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b002000 }, .id = HEX_INS_L2_PLOADRBT_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -53671,9 +53672,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if () = memb(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrbt_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrbt_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53681,10 +53682,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b003000 }, .id = HEX_INS_L2_PLOADRBTNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -53692,9 +53693,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (.new) = memb(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrbtnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrbtnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53702,10 +53703,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9bc02800 }, .id = HEX_INS_L2_PLOADRDF_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 3, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 3, .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -53713,9 +53714,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!) = memd(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrdf_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrdf_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53723,10 +53724,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9bc03800 }, .id = HEX_INS_L2_PLOADRDFNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 3, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 3, .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -53734,9 +53735,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!.new) = memd(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrdfnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrdfnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53744,10 +53745,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9bc02000 }, .id = HEX_INS_L2_PLOADRDT_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 3, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 3, .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -53755,9 +53756,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if () = memd(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrdt_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrdt_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53765,10 +53766,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9bc03000 }, .id = HEX_INS_L2_PLOADRDTNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 3, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 3, .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -53776,9 +53777,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (.new) = memd(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrdtnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrdtnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53786,10 +53787,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b402800 }, .id = HEX_INS_L2_PLOADRHF_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -53797,9 +53798,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!) = memh(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrhf_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrhf_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53807,10 +53808,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b403800 }, .id = HEX_INS_L2_PLOADRHFNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -53818,9 +53819,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!.new) = memh(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrhfnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrhfnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53828,10 +53829,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b402000 }, .id = HEX_INS_L2_PLOADRHT_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -53839,9 +53840,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if () = memh(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrht_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrht_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53849,10 +53850,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b403000 }, .id = HEX_INS_L2_PLOADRHTNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -53860,9 +53861,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (.new) = memh(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrhtnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrhtnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53870,10 +53871,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b802800 }, .id = HEX_INS_L2_PLOADRIF_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 2, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 2, .syntax = 17 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -53881,9 +53882,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!) = memw(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrif_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrif_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53891,10 +53892,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b803800 }, .id = HEX_INS_L2_PLOADRIFNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 2, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 2, .syntax = 21 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -53902,9 +53903,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!.new) = memw(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrifnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrifnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53912,10 +53913,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b802000 }, .id = HEX_INS_L2_PLOADRIT_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 2, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 2, .syntax = 16 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -53923,9 +53924,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if () = memw(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrit_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrit_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53933,10 +53934,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b803000 }, .id = HEX_INS_L2_PLOADRITNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 2, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 2, .syntax = 20 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -53944,9 +53945,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (.new) = memw(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadritnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadritnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53954,10 +53955,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b202800 }, .id = HEX_INS_L2_PLOADRUBF_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -53965,9 +53966,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!) = memub(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrubf_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrubf_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53975,10 +53976,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b203800 }, .id = HEX_INS_L2_PLOADRUBFNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .syntax = 22 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -53986,9 +53987,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!.new) = memub(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrubfnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrubfnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -53996,10 +53997,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b202000 }, .id = HEX_INS_L2_PLOADRUBT_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -54007,9 +54008,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if () = memub(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrubt_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrubt_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54017,10 +54018,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b203000 }, .id = HEX_INS_L2_PLOADRUBTNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .syntax = 21 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -54028,9 +54029,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (.new) = memub(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadrubtnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadrubtnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54038,10 +54039,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b602800 }, .id = HEX_INS_L2_PLOADRUHF_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -54049,9 +54050,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!) = memuh(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadruhf_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadruhf_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54059,10 +54060,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b603800 }, .id = HEX_INS_L2_PLOADRUHFNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 22 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -54070,9 +54071,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!.new) = memuh(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadruhfnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadruhfnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54080,10 +54081,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b602000 }, .id = HEX_INS_L2_PLOADRUHT_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -54091,9 +54092,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if () = memuh(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadruht_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadruht_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54101,10 +54102,10 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x9b603000 }, .id = HEX_INS_L2_PLOADRUHTNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .imm_scale = 1, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 5 } }, .isa_id = 's', .imm_scale = 1, .syntax = 21 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -54112,9 +54113,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (.new) = memuh(++)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l2_ploadruhtnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l2_ploadruhtnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54122,18 +54123,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03080, .op = 0x9a801000 }, .id = HEX_INS_L4_LOADALIGNB_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb_fifo(=)", .il_ops = { - { hex_il_op_l4_loadalignb_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadalignb_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54141,19 +54142,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01000, .op = 0x9c801000 }, .id = HEX_INS_L4_LOADALIGNB_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb_fifo(<<+)", .il_ops = { - { hex_il_op_l4_loadalignb_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadalignb_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54161,18 +54162,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03080, .op = 0x9a401000 }, .id = HEX_INS_L4_LOADALIGNH_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh_fifo(=)", .il_ops = { - { hex_il_op_l4_loadalignh_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadalignh_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54180,19 +54181,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01000, .op = 0x9c401000 }, .id = HEX_INS_L4_LOADALIGNH_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh_fifo(<<+)", .il_ops = { - { hex_il_op_l4_loadalignh_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadalignh_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54200,18 +54201,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03080, .op = 0x9a201000 }, .id = HEX_INS_L4_LOADBSW2_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = membh(=)", .il_ops = { - { hex_il_op_l4_loadbsw2_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadbsw2_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54219,19 +54220,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01000, .op = 0x9c201000 }, .id = HEX_INS_L4_LOADBSW2_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = membh(<<+)", .il_ops = { - { hex_il_op_l4_loadbsw2_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadbsw2_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54239,18 +54240,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03080, .op = 0x9ae01000 }, .id = HEX_INS_L4_LOADBSW4_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = membh(=)", .il_ops = { - { hex_il_op_l4_loadbsw4_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadbsw4_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54258,19 +54259,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01000, .op = 0x9ce01000 }, .id = HEX_INS_L4_LOADBSW4_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = membh(<<+)", .il_ops = { - { hex_il_op_l4_loadbsw4_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadbsw4_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54278,18 +54279,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03080, .op = 0x9a601000 }, .id = HEX_INS_L4_LOADBZW2_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memubh(=)", .il_ops = { - { hex_il_op_l4_loadbzw2_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadbzw2_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54297,19 +54298,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01000, .op = 0x9c601000 }, .id = HEX_INS_L4_LOADBZW2_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memubh(<<+)", .il_ops = { - { hex_il_op_l4_loadbzw2_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadbzw2_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54317,18 +54318,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03080, .op = 0x9aa01000 }, .id = HEX_INS_L4_LOADBZW4_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memubh(=)", .il_ops = { - { hex_il_op_l4_loadbzw4_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadbzw4_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54336,19 +54337,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01000, .op = 0x9ca01000 }, .id = HEX_INS_L4_LOADBZW4_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memubh(<<+)", .il_ops = { - { hex_il_op_l4_loadbzw4_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadbzw4_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54356,17 +54357,17 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x92001800 }, .id = HEX_INS_L4_LOADD_AQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd_aq()", .il_ops = { - { hex_il_op_l4_loadd_aq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadd_aq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54374,17 +54375,17 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x92001000 }, .id = HEX_INS_L4_LOADD_LOCKED, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd_locked()", .il_ops = { - { hex_il_op_l4_loadd_locked, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadd_locked, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54392,18 +54393,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03080, .op = 0x9b001000 }, .id = HEX_INS_L4_LOADRB_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(=)", .il_ops = { - { hex_il_op_l4_loadrb_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadrb_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54411,19 +54412,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01000, .op = 0x9d001000 }, .id = HEX_INS_L4_LOADRB_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memb(<<+)", .il_ops = { - { hex_il_op_l4_loadrb_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadrb_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54431,18 +54432,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03080, .op = 0x9bc01000 }, .id = HEX_INS_L4_LOADRD_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(=)", .il_ops = { - { hex_il_op_l4_loadrd_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadrd_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54450,19 +54451,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01000, .op = 0x9dc01000 }, .id = HEX_INS_L4_LOADRD_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memd(<<+)", .il_ops = { - { hex_il_op_l4_loadrd_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadrd_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54470,18 +54471,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03080, .op = 0x9b401000 }, .id = HEX_INS_L4_LOADRH_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(=)", .il_ops = { - { hex_il_op_l4_loadrh_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadrh_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54489,19 +54490,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01000, .op = 0x9d401000 }, .id = HEX_INS_L4_LOADRH_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memh(<<+)", .il_ops = { - { hex_il_op_l4_loadrh_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadrh_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54509,18 +54510,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03080, .op = 0x9b801000 }, .id = HEX_INS_L4_LOADRI_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(=)", .il_ops = { - { hex_il_op_l4_loadri_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadri_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54528,19 +54529,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01000, .op = 0x9d801000 }, .id = HEX_INS_L4_LOADRI_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw(<<+)", .il_ops = { - { hex_il_op_l4_loadri_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadri_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54548,18 +54549,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03080, .op = 0x9b201000 }, .id = HEX_INS_L4_LOADRUB_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(=)", .il_ops = { - { hex_il_op_l4_loadrub_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadrub_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54567,19 +54568,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01000, .op = 0x9d201000 }, .id = HEX_INS_L4_LOADRUB_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memub(<<+)", .il_ops = { - { hex_il_op_l4_loadrub_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadrub_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54587,18 +54588,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03080, .op = 0x9b601000 }, .id = HEX_INS_L4_LOADRUH_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(=)", .il_ops = { - { hex_il_op_l4_loadruh_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadruh_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54606,19 +54607,19 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe01000, .op = 0x9d601000 }, .id = HEX_INS_L4_LOADRUH_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 7 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x2, 5 }, { 0x4, 8 } }, .isa_id = 'U', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memuh(<<+)", .il_ops = { - { hex_il_op_l4_loadruh_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_loadruh_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54626,9 +54627,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f002880 }, .id = HEX_INS_L4_PLOADRBF_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -54636,9 +54637,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!) = memb()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrbf_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrbf_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54646,9 +54647,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f003880 }, .id = HEX_INS_L4_PLOADRBFNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -54656,9 +54657,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!.new) = memb()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrbfnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrbfnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54666,9 +54667,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f002080 }, .id = HEX_INS_L4_PLOADRBT_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -54676,9 +54677,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if () = memb()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrbt_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrbt_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54686,9 +54687,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f003080 }, .id = HEX_INS_L4_PLOADRBTNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -54696,9 +54697,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (.new) = memb()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrbtnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrbtnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54706,9 +54707,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9fc02880 }, .id = HEX_INS_L4_PLOADRDF_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -54716,9 +54717,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!) = memd()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrdf_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrdf_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54726,9 +54727,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9fc03880 }, .id = HEX_INS_L4_PLOADRDFNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -54736,9 +54737,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!.new) = memd()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrdfnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrdfnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54746,9 +54747,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9fc02080 }, .id = HEX_INS_L4_PLOADRDT_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -54756,9 +54757,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if () = memd()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrdt_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrdt_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54766,9 +54767,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9fc03080 }, .id = HEX_INS_L4_PLOADRDTNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -54776,9 +54777,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (.new) = memd()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrdtnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrdtnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54786,9 +54787,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f402880 }, .id = HEX_INS_L4_PLOADRHF_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -54796,9 +54797,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!) = memh()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrhf_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrhf_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54806,9 +54807,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f403880 }, .id = HEX_INS_L4_PLOADRHFNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -54816,9 +54817,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!.new) = memh()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrhfnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrhfnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54826,9 +54827,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f402080 }, .id = HEX_INS_L4_PLOADRHT_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -54836,9 +54837,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if () = memh()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrht_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrht_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54846,9 +54847,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f403080 }, .id = HEX_INS_L4_PLOADRHTNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -54856,9 +54857,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (.new) = memh()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrhtnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrhtnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54866,9 +54867,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f802880 }, .id = HEX_INS_L4_PLOADRIF_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -54876,9 +54877,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!) = memw()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrif_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrif_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54886,9 +54887,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f803880 }, .id = HEX_INS_L4_PLOADRIFNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -54896,9 +54897,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!.new) = memw()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrifnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrifnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54906,9 +54907,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f802080 }, .id = HEX_INS_L4_PLOADRIT_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -54916,9 +54917,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if () = memw()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrit_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrit_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54926,9 +54927,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f803080 }, .id = HEX_INS_L4_PLOADRITNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -54936,9 +54937,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (.new) = memw()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadritnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadritnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54946,9 +54947,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f202880 }, .id = HEX_INS_L4_PLOADRUBF_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -54956,9 +54957,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!) = memub()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrubf_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrubf_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54966,9 +54967,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f203880 }, .id = HEX_INS_L4_PLOADRUBFNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -54976,9 +54977,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!.new) = memub()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrubfnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrubfnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -54986,9 +54987,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f202080 }, .id = HEX_INS_L4_PLOADRUBT_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -54996,9 +54997,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if () = memub()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrubt_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrubt_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55006,9 +55007,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f203080 }, .id = HEX_INS_L4_PLOADRUBTNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55016,9 +55017,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (.new) = memub()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadrubtnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadrubtnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55026,9 +55027,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f602880 }, .id = HEX_INS_L4_PLOADRUHF_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55036,9 +55037,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!) = memuh()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadruhf_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadruhf_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55046,9 +55047,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f603880 }, .id = HEX_INS_L4_PLOADRUHFNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 20 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55056,9 +55057,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!.new) = memuh()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadruhfnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadruhfnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55066,9 +55067,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f602080 }, .id = HEX_INS_L4_PLOADRUHT_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55076,9 +55077,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if () = memuh()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadruht_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadruht_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55086,9 +55087,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe038e0, .op = 0x9f603080 }, .id = HEX_INS_L4_PLOADRUHTNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 9 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 't', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 8 }, { 0x5, 16 } }, .isa_id = 'u', .syntax = 19 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55096,9 +55097,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (.new) = memuh()", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_ploadruhtnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_ploadruhtnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55106,17 +55107,17 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03fe0, .op = 0x96000000 }, .id = HEX_INS_L4_RETURN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_RET, .syntax = " = dealloc_return():raw", .il_ops = { - { hex_il_op_l4_return, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_return, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55124,9 +55125,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x96003000 }, .id = HEX_INS_L4_RETURN_F, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 25 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 25 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55134,9 +55135,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!) = dealloc_return():raw", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_return_f, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_return_f, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55144,9 +55145,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x96002800 }, .id = HEX_INS_L4_RETURN_FNEW_PNT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 29 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55154,9 +55155,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!.new) = dealloc_return():nt:raw", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_return_fnew_pnt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_return_fnew_pnt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55164,9 +55165,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x96003800 }, .id = HEX_INS_L4_RETURN_FNEW_PT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 29 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 29 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55174,9 +55175,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (!.new) = dealloc_return():t:raw", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_return_fnew_pt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_return_fnew_pt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55184,9 +55185,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x96001000 }, .id = HEX_INS_L4_RETURN_T, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 24 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 24 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55194,9 +55195,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if () = dealloc_return():raw", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_return_t, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_return_t, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55204,9 +55205,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x96000800 }, .id = HEX_INS_L4_RETURN_TNEW_PNT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 28 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55214,9 +55215,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (.new) = dealloc_return():nt:raw", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_return_tnew_pnt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_return_tnew_pnt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55224,9 +55225,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03ce0, .op = 0x96001800 }, .id = HEX_INS_L4_RETURN_TNEW_PT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 28 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 8 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 28 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55234,9 +55235,9 @@ static const HexInsnTemplate templates_normal_0x9[] = { .syntax = "if (.new) = dealloc_return():t:raw", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_l4_return_tnew_pt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l4_return_tnew_pt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55244,18 +55245,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe000ff, .op = 0x92000040 }, .id = HEX_INS_L6_MEMCPY, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memcpy(,,)", .il_ops = { - { hex_il_op_l6_memcpy, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_l6_memcpy, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55263,18 +55264,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe020e0, .op = 0x92000020 }, .id = HEX_INS_V6_EXTRACTW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_HVX_VR, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vextract(,)", .il_ops = { - { hex_il_op_v6_extractw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_v6_extractw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55282,17 +55283,17 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe03800, .op = 0x94000000 }, .id = HEX_INS_Y2_DCFETCHBO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0xb, 0 } }, .imm_scale = 3, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0xb, 0 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "dcfetch(+)", .il_ops = { - { hex_il_op_y2_dcfetchbo, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y2_dcfetchbo, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55300,18 +55301,18 @@ static const HexInsnTemplate templates_normal_0x9[] = { .encoding = { .mask = 0xffe020e0, .op = 0x92002000 }, .id = HEX_INS_IMPORTED_RD_MEMW_PHYS_RS_RT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = memw_phys(,)", .il_ops = { - { hex_il_op_imported_rd_memw_phys_rs_rt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_rd_memw_phys_rs_rt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -55323,16 +55324,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020fc, .op = 0xa0e0000c }, .id = HEX_INS_R6_RELEASE_AT_VI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "release():at", .il_ops = { - { hex_il_op_r6_release_at_vi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_r6_release_at_vi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55340,16 +55341,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020fc, .op = 0xa0e0002c }, .id = HEX_INS_R6_RELEASE_ST_VI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "release():st", .il_ops = { - { hex_il_op_r6_release_st_vi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_r6_release_st_vi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55357,17 +55358,17 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03800, .op = 0xa0800000 }, .id = HEX_INS_S2_ALLOCFRAME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0xb, 0 } }, .imm_scale = 3, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0xb, 0 } }, .isa_id = 'u', .imm_scale = 3, .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "allocframe(,):raw", .il_ops = { - { hex_il_op_s2_allocframe, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_allocframe, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55375,10 +55376,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xab002004 }, .id = HEX_INS_S2_PSTORERBF_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55386,9 +55387,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!) memb(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerbf_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerbf_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55396,10 +55397,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xab002084 }, .id = HEX_INS_S2_PSTORERBFNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55407,9 +55408,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!.new) memb(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerbfnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerbfnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55417,10 +55418,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03884, .op = 0xaba02004 }, .id = HEX_INS_S2_PSTORERBNEWF_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55428,9 +55429,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!) memb(++) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerbnewf_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerbnewf_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55438,10 +55439,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03884, .op = 0xaba02084 }, .id = HEX_INS_S2_PSTORERBNEWFNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55449,9 +55450,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!.new) memb(++) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerbnewfnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerbnewfnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55459,10 +55460,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03884, .op = 0xaba02000 }, .id = HEX_INS_S2_PSTORERBNEWT_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55470,9 +55471,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if () memb(++) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerbnewt_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerbnewt_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55480,10 +55481,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03884, .op = 0xaba02080 }, .id = HEX_INS_S2_PSTORERBNEWTNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 21 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55491,9 +55492,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (.new) memb(++) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerbnewtnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerbnewtnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55501,10 +55502,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xab002000 }, .id = HEX_INS_S2_PSTORERBT_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55512,9 +55513,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if () memb(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerbt_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerbt_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55522,10 +55523,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xab002080 }, .id = HEX_INS_S2_PSTORERBTNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 21 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55533,9 +55534,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (.new) memb(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerbtnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerbtnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55543,10 +55544,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xabc02004 }, .id = HEX_INS_S2_PSTORERDF_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 3, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55554,9 +55555,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!) memd(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerdf_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerdf_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55564,10 +55565,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xabc02084 }, .id = HEX_INS_S2_PSTORERDFNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 3, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55575,9 +55576,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!.new) memd(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerdfnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerdfnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55585,10 +55586,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xabc02000 }, .id = HEX_INS_S2_PSTORERDT_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 3, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55596,9 +55597,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if () memd(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerdt_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerdt_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55606,10 +55607,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xabc02080 }, .id = HEX_INS_S2_PSTORERDTNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 3, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 21 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55617,9 +55618,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (.new) memd(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerdtnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerdtnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55627,10 +55628,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xab602004 }, .id = HEX_INS_S2_PSTORERFF_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55638,9 +55639,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!) memh(++) = .h", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerff_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerff_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55648,10 +55649,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xab602084 }, .id = HEX_INS_S2_PSTORERFFNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55659,9 +55660,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!.new) memh(++) = .h", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerffnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerffnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55669,10 +55670,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xab602000 }, .id = HEX_INS_S2_PSTORERFT_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55680,9 +55681,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if () memh(++) = .h", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerft_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerft_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55690,10 +55691,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xab602080 }, .id = HEX_INS_S2_PSTORERFTNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 21 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55701,9 +55702,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (.new) memh(++) = .h", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerftnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerftnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55711,10 +55712,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xab402004 }, .id = HEX_INS_S2_PSTORERHF_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55722,9 +55723,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!) memh(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerhf_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerhf_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55732,10 +55733,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xab402084 }, .id = HEX_INS_S2_PSTORERHFNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55743,9 +55744,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!.new) memh(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerhfnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerhfnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55753,10 +55754,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03884, .op = 0xaba02804 }, .id = HEX_INS_S2_PSTORERHNEWF_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55764,9 +55765,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!) memh(++) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerhnewf_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerhnewf_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55774,10 +55775,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03884, .op = 0xaba02884 }, .id = HEX_INS_S2_PSTORERHNEWFNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55785,9 +55786,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!.new) memh(++) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerhnewfnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerhnewfnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55795,10 +55796,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03884, .op = 0xaba02800 }, .id = HEX_INS_S2_PSTORERHNEWT_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55806,9 +55807,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if () memh(++) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerhnewt_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerhnewt_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55816,10 +55817,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03884, .op = 0xaba02880 }, .id = HEX_INS_S2_PSTORERHNEWTNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 21 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55827,9 +55828,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (.new) memh(++) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerhnewtnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerhnewtnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55837,10 +55838,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xab402000 }, .id = HEX_INS_S2_PSTORERHT_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55848,9 +55849,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if () memh(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerht_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerht_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55858,10 +55859,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xab402080 }, .id = HEX_INS_S2_PSTORERHTNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 21 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55869,9 +55870,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (.new) memh(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerhtnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerhtnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55879,10 +55880,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xab802004 }, .id = HEX_INS_S2_PSTORERIF_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 2, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 2, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55890,9 +55891,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!) memw(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerif_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerif_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55900,10 +55901,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xab802084 }, .id = HEX_INS_S2_PSTORERIFNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 2, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55911,9 +55912,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!.new) memw(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerifnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerifnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55921,10 +55922,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03884, .op = 0xaba03004 }, .id = HEX_INS_S2_PSTORERINEWF_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 2, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 2, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55932,9 +55933,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!) memw(++) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerinewf_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerinewf_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55942,10 +55943,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03884, .op = 0xaba03084 }, .id = HEX_INS_S2_PSTORERINEWFNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 2, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 2, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -55953,9 +55954,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!.new) memw(++) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerinewfnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerinewfnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55963,10 +55964,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03884, .op = 0xaba03000 }, .id = HEX_INS_S2_PSTORERINEWT_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 2, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 2, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55974,9 +55975,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if () memw(++) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerinewt_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerinewt_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -55984,10 +55985,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03884, .op = 0xaba03080 }, .id = HEX_INS_S2_PSTORERINEWTNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 2, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 2, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 21 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -55995,9 +55996,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (.new) memw(++) = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerinewtnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerinewtnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56005,10 +56006,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xab802000 }, .id = HEX_INS_S2_PSTORERIT_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 2, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 2, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -56016,9 +56017,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if () memw(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstorerit_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstorerit_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56026,10 +56027,10 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02084, .op = 0xab802080 }, .id = HEX_INS_S2_PSTORERITNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 2, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 2, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 21 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -56037,9 +56038,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (.new) memw(++) = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s2_pstoreritnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_pstoreritnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56047,18 +56048,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xf9e00000, .op = 0xa1000000 }, .id = HEX_INS_S2_STORERB_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x2, 25 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x2, 25 } }, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = ", .il_ops = { - { hex_il_op_s2_storerb_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerb_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56066,18 +56067,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe000ff, .op = 0xaf000000 }, .id = HEX_INS_S2_STORERB_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(++:brev) = ", .il_ops = { - { hex_il_op_s2_storerb_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerb_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56085,19 +56086,19 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe00087, .op = 0xa9000000 }, .id = HEX_INS_S2_STORERB_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(++:circ()) = ", .il_ops = { - { hex_il_op_s2_storerb_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerb_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56105,18 +56106,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe000ff, .op = 0xa9000002 }, .id = HEX_INS_S2_STORERB_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(++I:circ()) = ", .il_ops = { - { hex_il_op_s2_storerb_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerb_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56124,18 +56125,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02087, .op = 0xab000000 }, .id = HEX_INS_S2_STORERB_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(++) = ", .il_ops = { - { hex_il_op_s2_storerb_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerb_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56143,18 +56144,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe000ff, .op = 0xad000000 }, .id = HEX_INS_S2_STORERB_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(++) = ", .il_ops = { - { hex_il_op_s2_storerb_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerb_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56162,18 +56163,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xf9e01800, .op = 0xa1a00000 }, .id = HEX_INS_S2_STORERBNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x2, 25 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x2, 25 } }, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(+) = .new", .il_ops = { - { hex_il_op_s2_storerbnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerbnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56181,18 +56182,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe018ff, .op = 0xafa00000 }, .id = HEX_INS_S2_STORERBNEW_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(++:brev) = .new", .il_ops = { - { hex_il_op_s2_storerbnew_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerbnew_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56200,19 +56201,19 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe01887, .op = 0xa9a00000 }, .id = HEX_INS_S2_STORERBNEW_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(++:circ()) = .new", .il_ops = { - { hex_il_op_s2_storerbnew_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerbnew_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56220,18 +56221,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe018ff, .op = 0xa9a00002 }, .id = HEX_INS_S2_STORERBNEW_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(++I:circ()) = .new", .il_ops = { - { hex_il_op_s2_storerbnew_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerbnew_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56239,18 +56240,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03887, .op = 0xaba00000 }, .id = HEX_INS_S2_STORERBNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(++) = .new", .il_ops = { - { hex_il_op_s2_storerbnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerbnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56258,18 +56259,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe018ff, .op = 0xada00000 }, .id = HEX_INS_S2_STORERBNEW_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(++) = .new", .il_ops = { - { hex_il_op_s2_storerbnew_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerbnew_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56277,18 +56278,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xf9e00000, .op = 0xa1c00000 }, .id = HEX_INS_S2_STORERD_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x2, 25 } }, .imm_scale = 3, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x2, 25 } }, .isa_id = 's', .imm_scale = 3, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd(+) = ", .il_ops = { - { hex_il_op_s2_storerd_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerd_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56296,18 +56297,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe000ff, .op = 0xafc00000 }, .id = HEX_INS_S2_STORERD_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd(++:brev) = ", .il_ops = { - { hex_il_op_s2_storerd_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerd_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56315,19 +56316,19 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe00087, .op = 0xa9c00000 }, .id = HEX_INS_S2_STORERD_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 3, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd(++:circ()) = ", .il_ops = { - { hex_il_op_s2_storerd_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerd_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56335,18 +56336,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe000ff, .op = 0xa9c00002 }, .id = HEX_INS_S2_STORERD_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd(++I:circ()) = ", .il_ops = { - { hex_il_op_s2_storerd_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerd_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56354,18 +56355,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02087, .op = 0xabc00000 }, .id = HEX_INS_S2_STORERD_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 3, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 3, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd(++) = ", .il_ops = { - { hex_il_op_s2_storerd_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerd_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56373,18 +56374,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe000ff, .op = 0xadc00000 }, .id = HEX_INS_S2_STORERD_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd(++) = ", .il_ops = { - { hex_il_op_s2_storerd_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerd_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56392,18 +56393,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xf9e00000, .op = 0xa1600000 }, .id = HEX_INS_S2_STORERF_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x2, 25 } }, .isa_id = 's', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) = .h", .il_ops = { - { hex_il_op_s2_storerf_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerf_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56411,18 +56412,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe000ff, .op = 0xaf600000 }, .id = HEX_INS_S2_STORERF_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(++:brev) = .h", .il_ops = { - { hex_il_op_s2_storerf_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerf_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56430,19 +56431,19 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe00087, .op = 0xa9600000 }, .id = HEX_INS_S2_STORERF_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(++:circ()) = .h", .il_ops = { - { hex_il_op_s2_storerf_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerf_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56450,18 +56451,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe000ff, .op = 0xa9600002 }, .id = HEX_INS_S2_STORERF_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(++I:circ()) = .h", .il_ops = { - { hex_il_op_s2_storerf_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerf_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56469,18 +56470,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02087, .op = 0xab600000 }, .id = HEX_INS_S2_STORERF_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(++) = .h", .il_ops = { - { hex_il_op_s2_storerf_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerf_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56488,18 +56489,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe000ff, .op = 0xad600000 }, .id = HEX_INS_S2_STORERF_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(++) = .h", .il_ops = { - { hex_il_op_s2_storerf_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerf_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56507,18 +56508,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xf9e00000, .op = 0xa1400000 }, .id = HEX_INS_S2_STORERH_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x2, 25 } }, .isa_id = 's', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) = ", .il_ops = { - { hex_il_op_s2_storerh_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerh_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56526,18 +56527,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe000ff, .op = 0xaf400000 }, .id = HEX_INS_S2_STORERH_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(++:brev) = ", .il_ops = { - { hex_il_op_s2_storerh_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerh_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56545,19 +56546,19 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe00087, .op = 0xa9400000 }, .id = HEX_INS_S2_STORERH_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(++:circ()) = ", .il_ops = { - { hex_il_op_s2_storerh_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerh_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56565,18 +56566,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe000ff, .op = 0xa9400002 }, .id = HEX_INS_S2_STORERH_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(++I:circ()) = ", .il_ops = { - { hex_il_op_s2_storerh_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerh_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56584,18 +56585,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02087, .op = 0xab400000 }, .id = HEX_INS_S2_STORERH_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(++) = ", .il_ops = { - { hex_il_op_s2_storerh_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerh_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56603,18 +56604,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe000ff, .op = 0xad400000 }, .id = HEX_INS_S2_STORERH_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(++) = ", .il_ops = { - { hex_il_op_s2_storerh_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerh_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56622,18 +56623,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xf9e01800, .op = 0xa1a00800 }, .id = HEX_INS_S2_STORERHNEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x2, 25 } }, .imm_scale = 1, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x2, 25 } }, .isa_id = 's', .imm_scale = 1, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(+) = .new", .il_ops = { - { hex_il_op_s2_storerhnew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerhnew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56641,18 +56642,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe018ff, .op = 0xafa00800 }, .id = HEX_INS_S2_STORERHNEW_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(++:brev) = .new", .il_ops = { - { hex_il_op_s2_storerhnew_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerhnew_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56660,19 +56661,19 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe01887, .op = 0xa9a00800 }, .id = HEX_INS_S2_STORERHNEW_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(++:circ()) = .new", .il_ops = { - { hex_il_op_s2_storerhnew_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerhnew_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56680,18 +56681,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe018ff, .op = 0xa9a00802 }, .id = HEX_INS_S2_STORERHNEW_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(++I:circ()) = .new", .il_ops = { - { hex_il_op_s2_storerhnew_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerhnew_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56699,18 +56700,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03887, .op = 0xaba00800 }, .id = HEX_INS_S2_STORERHNEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 1, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 1, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(++) = .new", .il_ops = { - { hex_il_op_s2_storerhnew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerhnew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56718,18 +56719,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe018ff, .op = 0xada00800 }, .id = HEX_INS_S2_STORERHNEW_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(++) = .new", .il_ops = { - { hex_il_op_s2_storerhnew_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerhnew_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56737,18 +56738,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xf9e00000, .op = 0xa1800000 }, .id = HEX_INS_S2_STORERI_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x2, 25 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x2, 25 } }, .isa_id = 's', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = ", .il_ops = { - { hex_il_op_s2_storeri_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storeri_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56756,18 +56757,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe000ff, .op = 0xaf800000 }, .id = HEX_INS_S2_STORERI_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(++:brev) = ", .il_ops = { - { hex_il_op_s2_storeri_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storeri_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56775,19 +56776,19 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe00087, .op = 0xa9800000 }, .id = HEX_INS_S2_STORERI_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 2, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 2, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(++:circ()) = ", .il_ops = { - { hex_il_op_s2_storeri_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storeri_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56795,18 +56796,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe000ff, .op = 0xa9800002 }, .id = HEX_INS_S2_STORERI_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(++I:circ()) = ", .il_ops = { - { hex_il_op_s2_storeri_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storeri_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56814,18 +56815,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe02087, .op = 0xab800000 }, .id = HEX_INS_S2_STORERI_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 2, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 2, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(++) = ", .il_ops = { - { hex_il_op_s2_storeri_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storeri_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56833,18 +56834,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe000ff, .op = 0xad800000 }, .id = HEX_INS_S2_STORERI_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(++) = ", .il_ops = { - { hex_il_op_s2_storeri_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storeri_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56852,18 +56853,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xf9e01800, .op = 0xa1a01000 }, .id = HEX_INS_S2_STORERINEW_IO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x2, 25 } }, .imm_scale = 2, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 0 }, { 0x1, 13 }, { 0x2, 25 } }, .isa_id = 's', .imm_scale = 2, .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(+) = .new", .il_ops = { - { hex_il_op_s2_storerinew_io, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerinew_io, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56871,18 +56872,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe018ff, .op = 0xafa01000 }, .id = HEX_INS_S2_STORERINEW_PBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(++:brev) = .new", .il_ops = { - { hex_il_op_s2_storerinew_pbr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerinew_pbr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56890,19 +56891,19 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe01887, .op = 0xa9a01000 }, .id = HEX_INS_S2_STORERINEW_PCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 2, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 2, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(++:circ()) = .new", .il_ops = { - { hex_il_op_s2_storerinew_pci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerinew_pci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56910,18 +56911,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe018ff, .op = 0xa9a01002 }, .id = HEX_INS_S2_STORERINEW_PCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(++I:circ()) = .new", .il_ops = { - { hex_il_op_s2_storerinew_pcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerinew_pcr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56929,18 +56930,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03887, .op = 0xaba01000 }, .id = HEX_INS_S2_STORERINEW_PI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .imm_scale = 2, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x4, 3 } }, .isa_id = 's', .imm_scale = 2, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(++) = .new", .il_ops = { - { hex_il_op_s2_storerinew_pi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerinew_pi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56948,18 +56949,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe018ff, .op = 0xada01000 }, .id = HEX_INS_S2_STORERINEW_PR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x1, 13 } }, .reg_cls = HEX_REG_CLASS_MOD_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(++) = .new", .il_ops = { - { hex_il_op_s2_storerinew_pr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storerinew_pr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56967,18 +56968,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020fc, .op = 0xa0a00000 }, .id = HEX_INS_S2_STOREW_LOCKED, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw_locked(,) = ", .il_ops = { - { hex_il_op_s2_storew_locked, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storew_locked, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -56986,17 +56987,17 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020fc, .op = 0xa0a00008 }, .id = HEX_INS_S2_STOREW_RL_AT_VI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw_rl():at = ", .il_ops = { - { hex_il_op_s2_storew_rl_at_vi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storew_rl_at_vi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57004,17 +57005,17 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020fc, .op = 0xa0a00028 }, .id = HEX_INS_S2_STOREW_RL_ST_VI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw_rl():st = ", .il_ops = { - { hex_il_op_s2_storew_rl_st_vi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_storew_rl_st_vi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57022,9 +57023,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xaf000084 }, .id = HEX_INS_S4_PSTORERBF_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -57032,9 +57033,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!) memb() = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbf_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbf_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57042,9 +57043,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xaf002084 }, .id = HEX_INS_S4_PSTORERBFNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -57052,9 +57053,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!.new) memb() = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbfnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbfnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57062,9 +57063,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc3884, .op = 0xafa00084 }, .id = HEX_INS_S4_PSTORERBNEWF_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -57072,9 +57073,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!) memb() = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbnewf_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbnewf_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57082,9 +57083,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc3884, .op = 0xafa02084 }, .id = HEX_INS_S4_PSTORERBNEWFNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -57092,9 +57093,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!.new) memb() = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbnewfnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbnewfnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57102,9 +57103,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc3884, .op = 0xafa00080 }, .id = HEX_INS_S4_PSTORERBNEWT_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -57112,9 +57113,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if () memb() = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbnewt_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbnewt_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57122,9 +57123,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc3884, .op = 0xafa02080 }, .id = HEX_INS_S4_PSTORERBNEWTNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -57132,9 +57133,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (.new) memb() = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbnewtnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbnewtnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57142,9 +57143,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xaf000080 }, .id = HEX_INS_S4_PSTORERBT_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -57152,9 +57153,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if () memb() = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbt_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbt_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57162,9 +57163,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xaf002080 }, .id = HEX_INS_S4_PSTORERBTNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -57172,9 +57173,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (.new) memb() = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerbtnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerbtnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57182,9 +57183,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xafc00084 }, .id = HEX_INS_S4_PSTORERDF_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -57192,9 +57193,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!) memd() = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerdf_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerdf_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57202,9 +57203,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xafc02084 }, .id = HEX_INS_S4_PSTORERDFNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 20 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -57212,9 +57213,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!.new) memd() = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerdfnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerdfnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57222,9 +57223,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xafc00080 }, .id = HEX_INS_S4_PSTORERDT_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -57232,9 +57233,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if () memd() = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerdt_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerdt_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57242,9 +57243,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xafc02080 }, .id = HEX_INS_S4_PSTORERDTNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -57252,9 +57253,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (.new) memd() = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerdtnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerdtnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57262,9 +57263,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xaf600084 }, .id = HEX_INS_S4_PSTORERFF_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -57272,9 +57273,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!) memh() = .h", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerff_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerff_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57282,9 +57283,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xaf602084 }, .id = HEX_INS_S4_PSTORERFFNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -57292,9 +57293,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!.new) memh() = .h", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerffnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerffnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57302,9 +57303,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xaf600080 }, .id = HEX_INS_S4_PSTORERFT_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -57312,9 +57313,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if () memh() = .h", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerft_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerft_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57322,9 +57323,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xaf602080 }, .id = HEX_INS_S4_PSTORERFTNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -57332,9 +57333,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (.new) memh() = .h", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerftnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerftnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57342,9 +57343,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xaf400084 }, .id = HEX_INS_S4_PSTORERHF_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -57352,9 +57353,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!) memh() = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhf_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhf_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57362,9 +57363,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xaf402084 }, .id = HEX_INS_S4_PSTORERHFNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -57372,9 +57373,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!.new) memh() = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhfnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhfnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57382,9 +57383,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc3884, .op = 0xafa00884 }, .id = HEX_INS_S4_PSTORERHNEWF_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -57392,9 +57393,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!) memh() = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhnewf_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhnewf_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57402,9 +57403,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc3884, .op = 0xafa02884 }, .id = HEX_INS_S4_PSTORERHNEWFNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -57412,9 +57413,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!.new) memh() = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhnewfnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhnewfnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57422,9 +57423,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc3884, .op = 0xafa00880 }, .id = HEX_INS_S4_PSTORERHNEWT_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -57432,9 +57433,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if () memh() = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhnewt_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhnewt_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57442,9 +57443,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc3884, .op = 0xafa02880 }, .id = HEX_INS_S4_PSTORERHNEWTNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -57452,9 +57453,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (.new) memh() = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhnewtnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhnewtnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57462,9 +57463,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xaf400080 }, .id = HEX_INS_S4_PSTORERHT_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -57472,9 +57473,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if () memh() = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerht_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerht_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57482,9 +57483,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xaf402080 }, .id = HEX_INS_S4_PSTORERHTNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -57492,9 +57493,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (.new) memh() = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerhtnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerhtnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57502,9 +57503,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xaf800084 }, .id = HEX_INS_S4_PSTORERIF_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -57512,9 +57513,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!) memw() = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerif_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerif_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57522,9 +57523,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xaf802084 }, .id = HEX_INS_S4_PSTORERIFNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -57532,9 +57533,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!.new) memw() = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerifnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerifnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57542,9 +57543,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc3884, .op = 0xafa01084 }, .id = HEX_INS_S4_PSTORERINEWF_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -57552,9 +57553,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!) memw() = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerinewf_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerinewf_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57562,9 +57563,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc3884, .op = 0xafa03084 }, .id = HEX_INS_S4_PSTORERINEWFNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 20 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 20 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -57572,9 +57573,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (!.new) memw() = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerinewfnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerinewfnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57582,9 +57583,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc3884, .op = 0xafa01080 }, .id = HEX_INS_S4_PSTORERINEWT_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -57592,9 +57593,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if () memw() = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerinewt_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerinewt_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57602,9 +57603,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc3884, .op = 0xafa03080 }, .id = HEX_INS_S4_PSTORERINEWTNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -57612,9 +57613,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (.new) memw() = .new", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerinewtnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerinewtnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57622,9 +57623,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xaf800080 }, .id = HEX_INS_S4_PSTORERIT_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -57632,9 +57633,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if () memw() = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstorerit_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstorerit_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57642,9 +57643,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xfffc2084, .op = 0xaf802080 }, .id = HEX_INS_S4_PSTORERITNEW_ABS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'v', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x4, 3 }, { 0x2, 16 } }, .isa_id = 'u', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -57652,9 +57653,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .syntax = "if (.new) memw() = ", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_s4_pstoreritnew_abs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_pstoreritnew_abs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57662,18 +57663,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020fc, .op = 0xa0e00000 }, .id = HEX_INS_S4_STORED_LOCKED, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd_locked(,) = ", .il_ops = { - { hex_il_op_s4_stored_locked, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_stored_locked, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57681,17 +57682,17 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020fc, .op = 0xa0e00008 }, .id = HEX_INS_S4_STORED_RL_AT_VI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd_rl():at = ", .il_ops = { - { hex_il_op_s4_stored_rl_at_vi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_stored_rl_at_vi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57699,17 +57700,17 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020fc, .op = 0xa0e00028 }, .id = HEX_INS_S4_STORED_RL_ST_VI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd_rl():st = ", .il_ops = { - { hex_il_op_s4_stored_rl_st_vi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_stored_rl_st_vi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57717,18 +57718,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020c0, .op = 0xab000080 }, .id = HEX_INS_S4_STORERB_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(=) = ", .il_ops = { - { hex_il_op_s4_storerb_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerb_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57736,19 +57737,19 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe00080, .op = 0xad000080 }, .id = HEX_INS_S4_STORERB_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 6 }, { 0x1, 13 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 6 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .isa_id = 'U', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(<<+) = ", .il_ops = { - { hex_il_op_s4_storerb_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerb_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57756,18 +57757,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe038c0, .op = 0xaba00080 }, .id = HEX_INS_S4_STORERBNEW_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(=) = .new", .il_ops = { - { hex_il_op_s4_storerbnew_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerbnew_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57775,19 +57776,19 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe01880, .op = 0xada00080 }, .id = HEX_INS_S4_STORERBNEW_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 6 }, { 0x1, 13 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 6 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .isa_id = 'U', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memb(<<+) = .new", .il_ops = { - { hex_il_op_s4_storerbnew_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerbnew_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57795,18 +57796,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020c0, .op = 0xabc00080 }, .id = HEX_INS_S4_STORERD_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd(=) = ", .il_ops = { - { hex_il_op_s4_storerd_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerd_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57814,19 +57815,19 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe00080, .op = 0xadc00080 }, .id = HEX_INS_S4_STORERD_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 6 }, { 0x1, 13 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 6 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .isa_id = 'U', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memd(<<+) = ", .il_ops = { - { hex_il_op_s4_storerd_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerd_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57834,18 +57835,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020c0, .op = 0xab600080 }, .id = HEX_INS_S4_STORERF_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(=) = .h", .il_ops = { - { hex_il_op_s4_storerf_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerf_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57853,19 +57854,19 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe00080, .op = 0xad600080 }, .id = HEX_INS_S4_STORERF_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 6 }, { 0x1, 13 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 6 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .isa_id = 'U', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(<<+) = .h", .il_ops = { - { hex_il_op_s4_storerf_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerf_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57873,18 +57874,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020c0, .op = 0xab400080 }, .id = HEX_INS_S4_STORERH_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(=) = ", .il_ops = { - { hex_il_op_s4_storerh_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerh_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57892,19 +57893,19 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe00080, .op = 0xad400080 }, .id = HEX_INS_S4_STORERH_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 6 }, { 0x1, 13 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 6 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .isa_id = 'U', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(<<+) = ", .il_ops = { - { hex_il_op_s4_storerh_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerh_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57912,18 +57913,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe038c0, .op = 0xaba00880 }, .id = HEX_INS_S4_STORERHNEW_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(=) = .new", .il_ops = { - { hex_il_op_s4_storerhnew_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerhnew_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57931,19 +57932,19 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe01880, .op = 0xada00880 }, .id = HEX_INS_S4_STORERHNEW_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 6 }, { 0x1, 13 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 6 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .isa_id = 'U', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memh(<<+) = .new", .il_ops = { - { hex_il_op_s4_storerhnew_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerhnew_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57951,18 +57952,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020c0, .op = 0xab800080 }, .id = HEX_INS_S4_STORERI_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(=) = ", .il_ops = { - { hex_il_op_s4_storeri_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeri_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57970,19 +57971,19 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe00080, .op = 0xad800080 }, .id = HEX_INS_S4_STORERI_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 6 }, { 0x1, 13 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 6 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .isa_id = 'U', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(<<+) = ", .il_ops = { - { hex_il_op_s4_storeri_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storeri_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -57990,18 +57991,18 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe038c0, .op = 0xaba01080 }, .id = HEX_INS_S4_STORERINEW_AP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'e', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .isa_id = 'U', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(=) = .new", .il_ops = { - { hex_il_op_s4_storerinew_ap, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerinew_ap, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58009,19 +58010,19 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe01880, .op = 0xada01080 }, .id = HEX_INS_S4_STORERINEW_UR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 6 }, { 0x1, 13 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x1, 6 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x6, 0 } }, .isa_id = 'U', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_N_REG, .masks = { { 0x3, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "memw(<<+) = .new", .il_ops = { - { hex_il_op_s4_storerinew_ur, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_storerinew_ur, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58033,9 +58034,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "barrier", .il_ops = { - { hex_il_op_y2_barrier, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y2_barrier, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58043,16 +58044,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03fff, .op = 0xa0000000 }, .id = HEX_INS_Y2_DCCLEANA, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "dccleana()", .il_ops = { - { hex_il_op_y2_dccleana, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y2_dccleana, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58060,16 +58061,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03fff, .op = 0xa0400000 }, .id = HEX_INS_Y2_DCCLEANINVA, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "dccleaninva()", .il_ops = { - { hex_il_op_y2_dccleaninva, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y2_dccleaninva, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58077,16 +58078,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03fff, .op = 0xa0200000 }, .id = HEX_INS_Y2_DCINVA, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "dcinva()", .il_ops = { - { hex_il_op_y2_dcinva, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y2_dcinva, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58094,16 +58095,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03fff, .op = 0xa0c00000 }, .id = HEX_INS_Y2_DCZEROA, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "dczeroa()", .il_ops = { - { hex_il_op_y2_dczeroa, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y2_dczeroa, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58115,9 +58116,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "syncht", .il_ops = { - { hex_il_op_y2_syncht, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y2_syncht, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58125,17 +58126,17 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020ff, .op = 0xa6000000 }, .id = HEX_INS_Y4_L2FETCH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "l2fetch(,)", .il_ops = { - { hex_il_op_y4_l2fetch, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y4_l2fetch, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58143,17 +58144,17 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020ff, .op = 0xa6800000 }, .id = HEX_INS_Y5_L2FETCH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "l2fetch(,)", .il_ops = { - { hex_il_op_y5_l2fetch, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y5_l2fetch, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58161,17 +58162,17 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020ff, .op = 0xa6000040 }, .id = HEX_INS_Y6_DMLINK, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "dmlink(,)", .il_ops = { - { hex_il_op_y6_dmlink, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y6_dmlink, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58179,16 +58180,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffff3fe0, .op = 0xa8000060 }, .id = HEX_INS_Y6_DMPAUSE, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dmpause", .il_ops = { - { hex_il_op_y6_dmpause, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y6_dmpause, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58196,16 +58197,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffff3fe0, .op = 0xa8000040 }, .id = HEX_INS_Y6_DMPOLL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dmpoll", .il_ops = { - { hex_il_op_y6_dmpoll, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y6_dmpoll, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58213,16 +58214,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03fff, .op = 0xa6000080 }, .id = HEX_INS_Y6_DMRESUME, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "dmresume()", .il_ops = { - { hex_il_op_y6_dmresume, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y6_dmresume, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58230,16 +58231,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03fff, .op = 0xa6000020 }, .id = HEX_INS_Y6_DMSTART, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "dmstart()", .il_ops = { - { hex_il_op_y6_dmstart, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y6_dmstart, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58247,16 +58248,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffff3fe0, .op = 0xa8000020 }, .id = HEX_INS_Y6_DMWAIT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dmwait", .il_ops = { - { hex_il_op_y6_dmwait, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_y6_dmwait, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58264,17 +58265,17 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03ffc, .op = 0xa0e02000 }, .id = HEX_INS_IMPORTED_PD_L2LOCKA_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = l2locka()", .il_ops = { - { hex_il_op_imported_pd_l2locka_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_pd_l2locka_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58282,17 +58283,17 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03fe0, .op = 0xa4200000 }, .id = HEX_INS_IMPORTED_RD_DCTAGR_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dctagr()", .il_ops = { - { hex_il_op_imported_rd_dctagr_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_rd_dctagr_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58300,17 +58301,17 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03fe0, .op = 0xa4600000 }, .id = HEX_INS_IMPORTED_RD_L2TAGR_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = l2tagr()", .il_ops = { - { hex_il_op_imported_rd_l2tagr_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_rd_l2tagr_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58318,16 +58319,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03fff, .op = 0xa2200000 }, .id = HEX_INS_IMPORTED_DCCLEANIDX_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "dccleanidx()", .il_ops = { - { hex_il_op_imported_dccleanidx_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_dccleanidx_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58335,16 +58336,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03fff, .op = 0xa2600000 }, .id = HEX_INS_IMPORTED_DCCLEANINVIDX_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "dccleaninvidx()", .il_ops = { - { hex_il_op_imported_dccleaninvidx_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_dccleaninvidx_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58352,16 +58353,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03fff, .op = 0xa2400000 }, .id = HEX_INS_IMPORTED_DCINVIDX_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "dcinvidx()", .il_ops = { - { hex_il_op_imported_dcinvidx_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_dcinvidx_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58373,9 +58374,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "dckill", .il_ops = { - { hex_il_op_imported_dckill, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_dckill, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58383,17 +58384,17 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020ff, .op = 0xa4000000 }, .id = HEX_INS_IMPORTED_DCTAGW_RS_RT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "dctagw(,)", .il_ops = { - { hex_il_op_imported_dctagw_rs_rt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_dctagw_rs_rt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58401,16 +58402,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03fff, .op = 0xa6200000 }, .id = HEX_INS_IMPORTED_L2CLEANIDX_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "l2cleanidx()", .il_ops = { - { hex_il_op_imported_l2cleanidx_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_l2cleanidx_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58418,16 +58419,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03fff, .op = 0xa8600000 }, .id = HEX_INS_IMPORTED_L2CLEANINVIDX_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "l2cleaninvidx()", .il_ops = { - { hex_il_op_imported_l2cleaninvidx_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_l2cleaninvidx_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58439,9 +58440,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "l2gclean", .il_ops = { - { hex_il_op_imported_l2gclean, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_l2gclean, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58449,16 +58450,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffff20ff, .op = 0xa6a00000 }, .id = HEX_INS_IMPORTED_L2GCLEAN_RTT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "l2gclean()", .il_ops = { - { hex_il_op_imported_l2gclean_rtt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_l2gclean_rtt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58470,9 +58471,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "l2gcleaninv", .il_ops = { - { hex_il_op_imported_l2gcleaninv, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_l2gcleaninv, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58480,16 +58481,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffff20ff, .op = 0xa6c00000 }, .id = HEX_INS_IMPORTED_L2GCLEANINV_RTT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "l2gcleaninv()", .il_ops = { - { hex_il_op_imported_l2gcleaninv_rtt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_l2gcleaninv_rtt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58501,9 +58502,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "l2gunlock", .il_ops = { - { hex_il_op_imported_l2gunlock, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_l2gunlock, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58511,16 +58512,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03fff, .op = 0xa6400000 }, .id = HEX_INS_IMPORTED_L2INVIDX_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "l2invidx()", .il_ops = { - { hex_il_op_imported_l2invidx_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_l2invidx_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58532,9 +58533,9 @@ static const HexInsnTemplate templates_normal_0xa[] = { .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "l2kill", .il_ops = { - { hex_il_op_imported_l2kill, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_l2kill, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58542,17 +58543,17 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe020ff, .op = 0xa4400000 }, .id = HEX_INS_IMPORTED_L2TAGW_RS_RT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "l2tagw(,)", .il_ops = { - { hex_il_op_imported_l2tagw_rs_rt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_l2tagw_rs_rt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58560,16 +58561,16 @@ static const HexInsnTemplate templates_normal_0xa[] = { .encoding = { .mask = 0xffe03fff, .op = 0xa6600000 }, .id = HEX_INS_IMPORTED_L2UNLOCKA_RS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = "l2unlocka()", .il_ops = { - { hex_il_op_imported_l2unlocka_rs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_imported_l2unlocka_rs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -58581,9 +58582,9 @@ static const HexInsnTemplate templates_normal_0xb[] = { .encoding = { .mask = 0xf0000000, .op = 0xb0000000 }, .id = HEX_INS_A2_ADDI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x7, 21 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x7, 21 } }, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -58591,8 +58592,8 @@ static const HexInsnTemplate templates_normal_0xb[] = { .syntax = " = add(,)", .il_ops = { { hex_il_op_a2_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -58604,19 +58605,19 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe02080, .op = 0xc2c00000 }, .id = HEX_INS_A4_ADDP_C, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'x', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,,):carry", .il_ops = { - { hex_il_op_a4_addp_c, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_addp_c, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58624,9 +58625,9 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020fc, .op = 0xc7c000c0 }, .id = HEX_INS_A4_CMPBEQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -58634,8 +58635,8 @@ static const HexInsnTemplate templates_normal_0xc[] = { .syntax = " = cmpb.eq(,)", .il_ops = { { hex_il_op_a4_cmpbeq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58643,9 +58644,9 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020fc, .op = 0xc7c00040 }, .id = HEX_INS_A4_CMPBGT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -58653,8 +58654,8 @@ static const HexInsnTemplate templates_normal_0xc[] = { .syntax = " = cmpb.gt(,)", .il_ops = { { hex_il_op_a4_cmpbgt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58662,9 +58663,9 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020fc, .op = 0xc7c000e0 }, .id = HEX_INS_A4_CMPBGTU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -58672,8 +58673,8 @@ static const HexInsnTemplate templates_normal_0xc[] = { .syntax = " = cmpb.gtu(,)", .il_ops = { { hex_il_op_a4_cmpbgtu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58681,9 +58682,9 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020fc, .op = 0xc7c00060 }, .id = HEX_INS_A4_CMPHEQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -58691,8 +58692,8 @@ static const HexInsnTemplate templates_normal_0xc[] = { .syntax = " = cmph.eq(,)", .il_ops = { { hex_il_op_a4_cmpheq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58700,9 +58701,9 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020fc, .op = 0xc7c00080 }, .id = HEX_INS_A4_CMPHGT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -58710,8 +58711,8 @@ static const HexInsnTemplate templates_normal_0xc[] = { .syntax = " = cmph.gt(,)", .il_ops = { { hex_il_op_a4_cmphgt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58719,9 +58720,9 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020fc, .op = 0xc7c000a0 }, .id = HEX_INS_A4_CMPHGTU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -58729,8 +58730,8 @@ static const HexInsnTemplate templates_normal_0xc[] = { .syntax = " = cmph.gtu(,)", .il_ops = { { hex_il_op_a4_cmphgtu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58738,18 +58739,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc6c00000 }, .id = HEX_INS_A4_CROUND_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cround(,)", .il_ops = { - { hex_il_op_a4_cround_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_cround_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58757,9 +58758,9 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc6c00080 }, .id = HEX_INS_A4_ROUND_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -58767,8 +58768,8 @@ static const HexInsnTemplate templates_normal_0xc[] = { .syntax = " = round(,)", .il_ops = { { hex_il_op_a4_round_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58776,9 +58777,9 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc6c000c0 }, .id = HEX_INS_A4_ROUND_RR_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -58786,8 +58787,8 @@ static const HexInsnTemplate templates_normal_0xc[] = { .syntax = " = round(,):sat", .il_ops = { { hex_il_op_a4_round_rr_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58795,19 +58796,19 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe02080, .op = 0xc2e00000 }, .id = HEX_INS_A4_SUBP_C, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'x', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sub(,,):carry", .il_ops = { - { hex_il_op_a4_subp_c, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_subp_c, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58815,18 +58816,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb200020 }, .id = HEX_INS_A4_VRMAXH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrmaxh(,)", .il_ops = { - { hex_il_op_a4_vrmaxh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_vrmaxh, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58834,18 +58835,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb202020 }, .id = HEX_INS_A4_VRMAXUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrmaxuh(,)", .il_ops = { - { hex_il_op_a4_vrmaxuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_vrmaxuh, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58853,18 +58854,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb202040 }, .id = HEX_INS_A4_VRMAXUW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrmaxuw(,)", .il_ops = { - { hex_il_op_a4_vrmaxuw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_vrmaxuw, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58872,18 +58873,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb200040 }, .id = HEX_INS_A4_VRMAXW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrmaxw(,)", .il_ops = { - { hex_il_op_a4_vrmaxw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_vrmaxw, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58891,18 +58892,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb2000a0 }, .id = HEX_INS_A4_VRMINH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrminh(,)", .il_ops = { - { hex_il_op_a4_vrminh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_vrminh, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58910,18 +58911,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb2020a0 }, .id = HEX_INS_A4_VRMINUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrminuh(,)", .il_ops = { - { hex_il_op_a4_vrminuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_vrminuh, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58929,18 +58930,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb2020c0 }, .id = HEX_INS_A4_VRMINUW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrminuw(,)", .il_ops = { - { hex_il_op_a4_vrminuw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_vrminuw, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58948,18 +58949,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb2000c0 }, .id = HEX_INS_A4_VRMINW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrminw(,)", .il_ops = { - { hex_il_op_a4_vrminw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_vrminw, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58967,18 +58968,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc1400020 }, .id = HEX_INS_A5_VADDHUBS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vaddhub(,):sat", .il_ops = { - { hex_il_op_a5_vaddhubs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a5_vaddhubs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -58986,18 +58987,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc6c00040 }, .id = HEX_INS_A7_CROUNDD_RR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cround(,)", .il_ops = { - { hex_il_op_a7_croundd_rr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a7_croundd_rr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59005,18 +59006,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020fc, .op = 0xc7800000 }, .id = HEX_INS_C2_BITSCLR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = bitsclr(,)", .il_ops = { - { hex_il_op_c2_bitsclr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_bitsclr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59024,18 +59025,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020fc, .op = 0xc7400000 }, .id = HEX_INS_C2_BITSSET, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = bitsset(,)", .il_ops = { - { hex_il_op_c2_bitsset, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_bitsset, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59043,18 +59044,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020fc, .op = 0xc7a00000 }, .id = HEX_INS_C4_NBITSCLR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = !bitsclr(,)", .il_ops = { - { hex_il_op_c4_nbitsclr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_nbitsclr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59062,18 +59063,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020fc, .op = 0xc7600000 }, .id = HEX_INS_C4_NBITSSET, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = !bitsset(,)", .il_ops = { - { hex_il_op_c4_nbitsset, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_nbitsset, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59081,18 +59082,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020fc, .op = 0xc7e00060 }, .id = HEX_INS_F2_SFCMPEQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sfcmp.eq(,)", .il_ops = { - { hex_il_op_f2_sfcmpeq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sfcmpeq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59100,18 +59101,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020fc, .op = 0xc7e00000 }, .id = HEX_INS_F2_SFCMPGE, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sfcmp.ge(,)", .il_ops = { - { hex_il_op_f2_sfcmpge, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sfcmpge, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59119,18 +59120,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020fc, .op = 0xc7e00080 }, .id = HEX_INS_F2_SFCMPGT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sfcmp.gt(,)", .il_ops = { - { hex_il_op_f2_sfcmpgt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sfcmpgt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59138,18 +59139,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020fc, .op = 0xc7e00020 }, .id = HEX_INS_F2_SFCMPUO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sfcmp.uo(,)", .il_ops = { - { hex_il_op_f2_sfcmpuo, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sfcmpuo, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59157,18 +59158,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc5000080 }, .id = HEX_INS_M4_CMPYI_WH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyiwh(,):<<1:rnd:sat", .il_ops = { - { hex_il_op_m4_cmpyi_wh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_cmpyi_wh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59176,18 +59177,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc50000a0 }, .id = HEX_INS_M4_CMPYI_WHC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyiwh(,*):<<1:rnd:sat", .il_ops = { - { hex_il_op_m4_cmpyi_whc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_cmpyi_whc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59195,18 +59196,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc50000c0 }, .id = HEX_INS_M4_CMPYR_WH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyrwh(,):<<1:rnd:sat", .il_ops = { - { hex_il_op_m4_cmpyr_wh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_cmpyr_wh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59214,18 +59215,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc50000e0 }, .id = HEX_INS_M4_CMPYR_WHC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyrwh(,*):<<1:rnd:sat", .il_ops = { - { hex_il_op_m4_cmpyr_whc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_cmpyr_whc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59233,18 +59234,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xca800000 }, .id = HEX_INS_M4_XOR_XACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= xor(,)", .il_ops = { - { hex_il_op_m4_xor_xacc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_xor_xacc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59252,19 +59253,19 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe02000, .op = 0xc4000000 }, .id = HEX_INS_S2_ADDASL_RRRI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = addasl(,,)", .il_ops = { - { hex_il_op_s2_addasl_rrri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_addasl_rrri, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59272,18 +59273,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc3800080 }, .id = HEX_INS_S2_ASL_R_P, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = asl(,)", .il_ops = { - { hex_il_op_s2_asl_r_p, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_r_p, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59291,18 +59292,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcbc00080 }, .id = HEX_INS_S2_ASL_R_P_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += asl(,)", .il_ops = { - { hex_il_op_s2_asl_r_p_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_r_p_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59310,18 +59311,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb400080 }, .id = HEX_INS_S2_ASL_R_P_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= asl(,)", .il_ops = { - { hex_il_op_s2_asl_r_p_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_r_p_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59329,18 +59330,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb800080 }, .id = HEX_INS_S2_ASL_R_P_NAC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= asl(,)", .il_ops = { - { hex_il_op_s2_asl_r_p_nac, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_r_p_nac, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59348,18 +59349,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb000080 }, .id = HEX_INS_S2_ASL_R_P_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= asl(,)", .il_ops = { - { hex_il_op_s2_asl_r_p_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_r_p_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59367,18 +59368,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb600080 }, .id = HEX_INS_S2_ASL_R_P_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= asl(,)", .il_ops = { - { hex_il_op_s2_asl_r_p_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_r_p_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59386,18 +59387,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc6400080 }, .id = HEX_INS_S2_ASL_R_R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = asl(,)", .il_ops = { - { hex_il_op_s2_asl_r_r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_r_r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59405,18 +59406,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xccc00080 }, .id = HEX_INS_S2_ASL_R_R_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += asl(,)", .il_ops = { - { hex_il_op_s2_asl_r_r_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_r_r_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59424,18 +59425,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcc400080 }, .id = HEX_INS_S2_ASL_R_R_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= asl(,)", .il_ops = { - { hex_il_op_s2_asl_r_r_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_r_r_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59443,18 +59444,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcc800080 }, .id = HEX_INS_S2_ASL_R_R_NAC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= asl(,)", .il_ops = { - { hex_il_op_s2_asl_r_r_nac, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_r_r_nac, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59462,18 +59463,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcc000080 }, .id = HEX_INS_S2_ASL_R_R_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= asl(,)", .il_ops = { - { hex_il_op_s2_asl_r_r_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_r_r_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59481,18 +59482,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc6000080 }, .id = HEX_INS_S2_ASL_R_R_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = asl(,):sat", .il_ops = { - { hex_il_op_s2_asl_r_r_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_r_r_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59500,18 +59501,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc3400080 }, .id = HEX_INS_S2_ASL_R_VH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vaslh(,)", .il_ops = { - { hex_il_op_s2_asl_r_vh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_r_vh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59519,18 +59520,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc3000080 }, .id = HEX_INS_S2_ASL_R_VW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vaslw(,)", .il_ops = { - { hex_il_op_s2_asl_r_vw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asl_r_vw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59538,18 +59539,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc3800000 }, .id = HEX_INS_S2_ASR_R_P, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = asr(,)", .il_ops = { - { hex_il_op_s2_asr_r_p, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_r_p, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59557,18 +59558,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcbc00000 }, .id = HEX_INS_S2_ASR_R_P_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += asr(,)", .il_ops = { - { hex_il_op_s2_asr_r_p_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_r_p_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59576,18 +59577,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb400000 }, .id = HEX_INS_S2_ASR_R_P_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= asr(,)", .il_ops = { - { hex_il_op_s2_asr_r_p_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_r_p_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59595,18 +59596,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb800000 }, .id = HEX_INS_S2_ASR_R_P_NAC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= asr(,)", .il_ops = { - { hex_il_op_s2_asr_r_p_nac, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_r_p_nac, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59614,18 +59615,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb000000 }, .id = HEX_INS_S2_ASR_R_P_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= asr(,)", .il_ops = { - { hex_il_op_s2_asr_r_p_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_r_p_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59633,18 +59634,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb600000 }, .id = HEX_INS_S2_ASR_R_P_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= asr(,)", .il_ops = { - { hex_il_op_s2_asr_r_p_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_r_p_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59652,18 +59653,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc6400000 }, .id = HEX_INS_S2_ASR_R_R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = asr(,)", .il_ops = { - { hex_il_op_s2_asr_r_r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_r_r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59671,18 +59672,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xccc00000 }, .id = HEX_INS_S2_ASR_R_R_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += asr(,)", .il_ops = { - { hex_il_op_s2_asr_r_r_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_r_r_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59690,18 +59691,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcc400000 }, .id = HEX_INS_S2_ASR_R_R_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= asr(,)", .il_ops = { - { hex_il_op_s2_asr_r_r_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_r_r_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59709,18 +59710,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcc800000 }, .id = HEX_INS_S2_ASR_R_R_NAC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= asr(,)", .il_ops = { - { hex_il_op_s2_asr_r_r_nac, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_r_r_nac, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59728,18 +59729,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcc000000 }, .id = HEX_INS_S2_ASR_R_R_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= asr(,)", .il_ops = { - { hex_il_op_s2_asr_r_r_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_r_r_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59747,18 +59748,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc6000000 }, .id = HEX_INS_S2_ASR_R_R_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = asr(,):sat", .il_ops = { - { hex_il_op_s2_asr_r_r_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_r_r_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59766,18 +59767,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc5000040 }, .id = HEX_INS_S2_ASR_R_SVW_TRUN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vasrw(,)", .il_ops = { - { hex_il_op_s2_asr_r_svw_trun, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_r_svw_trun, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59785,18 +59786,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc3400000 }, .id = HEX_INS_S2_ASR_R_VH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vasrh(,)", .il_ops = { - { hex_il_op_s2_asr_r_vh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_r_vh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59804,18 +59805,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc3000000 }, .id = HEX_INS_S2_ASR_R_VW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vasrw(,)", .il_ops = { - { hex_il_op_s2_asr_r_vw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_asr_r_vw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59823,18 +59824,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc1c000c0 }, .id = HEX_INS_S2_CABACDECBIN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = decbin(,)", .il_ops = { - { hex_il_op_s2_cabacdecbin, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_cabacdecbin, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59842,18 +59843,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc6800040 }, .id = HEX_INS_S2_CLRBIT_R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = clrbit(,)", .il_ops = { - { hex_il_op_s2_clrbit_r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_clrbit_r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59861,18 +59862,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc9000000 }, .id = HEX_INS_S2_EXTRACTU_RP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = extractu(,)", .il_ops = { - { hex_il_op_s2_extractu_rp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_extractu_rp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59880,18 +59881,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc1000000 }, .id = HEX_INS_S2_EXTRACTUP_RP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = extractu(,)", .il_ops = { - { hex_il_op_s2_extractup_rp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_extractup_rp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59899,18 +59900,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc8000000 }, .id = HEX_INS_S2_INSERT_RP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = insert(,)", .il_ops = { - { hex_il_op_s2_insert_rp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_insert_rp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59918,18 +59919,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xca000000 }, .id = HEX_INS_S2_INSERTP_RP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = insert(,)", .il_ops = { - { hex_il_op_s2_insertp_rp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_insertp_rp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59937,18 +59938,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc18000c0 }, .id = HEX_INS_S2_LFSP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = lfs(,)", .il_ops = { - { hex_il_op_s2_lfsp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lfsp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59956,18 +59957,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc38000c0 }, .id = HEX_INS_S2_LSL_R_P, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = lsl(,)", .il_ops = { - { hex_il_op_s2_lsl_r_p, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsl_r_p, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59975,18 +59976,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcbc000c0 }, .id = HEX_INS_S2_LSL_R_P_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += lsl(,)", .il_ops = { - { hex_il_op_s2_lsl_r_p_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsl_r_p_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -59994,18 +59995,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb4000c0 }, .id = HEX_INS_S2_LSL_R_P_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= lsl(,)", .il_ops = { - { hex_il_op_s2_lsl_r_p_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsl_r_p_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60013,18 +60014,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb8000c0 }, .id = HEX_INS_S2_LSL_R_P_NAC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= lsl(,)", .il_ops = { - { hex_il_op_s2_lsl_r_p_nac, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsl_r_p_nac, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60032,18 +60033,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb0000c0 }, .id = HEX_INS_S2_LSL_R_P_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= lsl(,)", .il_ops = { - { hex_il_op_s2_lsl_r_p_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsl_r_p_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60051,18 +60052,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb6000c0 }, .id = HEX_INS_S2_LSL_R_P_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= lsl(,)", .il_ops = { - { hex_il_op_s2_lsl_r_p_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsl_r_p_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60070,18 +60071,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc64000c0 }, .id = HEX_INS_S2_LSL_R_R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = lsl(,)", .il_ops = { - { hex_il_op_s2_lsl_r_r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsl_r_r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60089,18 +60090,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xccc000c0 }, .id = HEX_INS_S2_LSL_R_R_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += lsl(,)", .il_ops = { - { hex_il_op_s2_lsl_r_r_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsl_r_r_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60108,18 +60109,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcc4000c0 }, .id = HEX_INS_S2_LSL_R_R_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= lsl(,)", .il_ops = { - { hex_il_op_s2_lsl_r_r_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsl_r_r_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60127,18 +60128,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcc8000c0 }, .id = HEX_INS_S2_LSL_R_R_NAC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= lsl(,)", .il_ops = { - { hex_il_op_s2_lsl_r_r_nac, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsl_r_r_nac, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60146,18 +60147,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcc0000c0 }, .id = HEX_INS_S2_LSL_R_R_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= lsl(,)", .il_ops = { - { hex_il_op_s2_lsl_r_r_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsl_r_r_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60165,18 +60166,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc34000c0 }, .id = HEX_INS_S2_LSL_R_VH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vlslh(,)", .il_ops = { - { hex_il_op_s2_lsl_r_vh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsl_r_vh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60184,18 +60185,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc30000c0 }, .id = HEX_INS_S2_LSL_R_VW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vlslw(,)", .il_ops = { - { hex_il_op_s2_lsl_r_vw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsl_r_vw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60203,18 +60204,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc3800040 }, .id = HEX_INS_S2_LSR_R_P, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_r_p, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_r_p, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60222,18 +60223,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcbc00040 }, .id = HEX_INS_S2_LSR_R_P_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_r_p_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_r_p_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60241,18 +60242,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb400040 }, .id = HEX_INS_S2_LSR_R_P_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_r_p_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_r_p_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60260,18 +60261,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb800040 }, .id = HEX_INS_S2_LSR_R_P_NAC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_r_p_nac, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_r_p_nac, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60279,18 +60280,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb000040 }, .id = HEX_INS_S2_LSR_R_P_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_r_p_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_r_p_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60298,18 +60299,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb600040 }, .id = HEX_INS_S2_LSR_R_P_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_r_p_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_r_p_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60317,18 +60318,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc6400040 }, .id = HEX_INS_S2_LSR_R_R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_r_r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_r_r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60336,18 +60337,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xccc00040 }, .id = HEX_INS_S2_LSR_R_R_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_r_r_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_r_r_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60355,18 +60356,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcc400040 }, .id = HEX_INS_S2_LSR_R_R_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_r_r_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_r_r_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60374,18 +60375,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcc800040 }, .id = HEX_INS_S2_LSR_R_R_NAC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_r_r_nac, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_r_r_nac, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60393,18 +60394,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcc000040 }, .id = HEX_INS_S2_LSR_R_R_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= lsr(,)", .il_ops = { - { hex_il_op_s2_lsr_r_r_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_r_r_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60412,18 +60413,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc3400040 }, .id = HEX_INS_S2_LSR_R_VH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vlsrh(,)", .il_ops = { - { hex_il_op_s2_lsr_r_vh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_r_vh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60431,18 +60432,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc3000040 }, .id = HEX_INS_S2_LSR_R_VW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vlsrw(,)", .il_ops = { - { hex_il_op_s2_lsr_r_vw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_lsr_r_vw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60450,18 +60451,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc6800000 }, .id = HEX_INS_S2_SETBIT_R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = setbit(,)", .il_ops = { - { hex_il_op_s2_setbit_r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_setbit_r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60469,18 +60470,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc1000040 }, .id = HEX_INS_S2_SHUFFEB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = shuffeb(,)", .il_ops = { - { hex_il_op_s2_shuffeb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_shuffeb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60488,18 +60489,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc10000c0 }, .id = HEX_INS_S2_SHUFFEH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = shuffeh(,)", .il_ops = { - { hex_il_op_s2_shuffeh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_shuffeh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60507,18 +60508,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc1000080 }, .id = HEX_INS_S2_SHUFFOB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = shuffob(,)", .il_ops = { - { hex_il_op_s2_shuffob, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_shuffob, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60526,18 +60527,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc1800000 }, .id = HEX_INS_S2_SHUFFOH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = shuffoh(,)", .il_ops = { - { hex_il_op_s2_shuffoh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_shuffoh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60545,18 +60546,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc6800080 }, .id = HEX_INS_S2_TOGGLEBIT_R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = togglebit(,)", .il_ops = { - { hex_il_op_s2_togglebit_r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_togglebit_r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60564,18 +60565,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020fc, .op = 0xc7000000 }, .id = HEX_INS_S2_TSTBIT_R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = tstbit(,)", .il_ops = { - { hex_il_op_s2_tstbit_r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_tstbit_r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60583,19 +60584,19 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe02000, .op = 0xc0000000 }, .id = HEX_INS_S2_VALIGNIB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = valignb(,,)", .il_ops = { - { hex_il_op_s2_valignib, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_valignib, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60603,19 +60604,19 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe02080, .op = 0xc2000000 }, .id = HEX_INS_S2_VALIGNRB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = valignb(,,)", .il_ops = { - { hex_il_op_s2_valignrb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_valignrb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60623,18 +60624,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc3c00040 }, .id = HEX_INS_S2_VCNEGH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcnegh(,)", .il_ops = { - { hex_il_op_s2_vcnegh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vcnegh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60642,18 +60643,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc3c00000 }, .id = HEX_INS_S2_VCROTATE, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcrotate(,)", .il_ops = { - { hex_il_op_s2_vcrotate, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vcrotate, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60661,18 +60662,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xcb2020e0 }, .id = HEX_INS_S2_VRCNEGH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vrcnegh(,)", .il_ops = { - { hex_il_op_s2_vrcnegh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vrcnegh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60680,19 +60681,19 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe02000, .op = 0xc0800000 }, .id = HEX_INS_S2_VSPLICEIB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vspliceb(,,)", .il_ops = { - { hex_il_op_s2_vspliceib, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vspliceib, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60700,19 +60701,19 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe02080, .op = 0xc2800000 }, .id = HEX_INS_S2_VSPLICERB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vspliceb(,,)", .il_ops = { - { hex_il_op_s2_vsplicerb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vsplicerb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60720,18 +60721,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc1800040 }, .id = HEX_INS_S2_VTRUNEWH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vtrunewh(,)", .il_ops = { - { hex_il_op_s2_vtrunewh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vtrunewh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60739,18 +60740,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc1800080 }, .id = HEX_INS_S2_VTRUNOWH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vtrunowh(,)", .il_ops = { - { hex_il_op_s2_vtrunowh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_vtrunowh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60758,18 +60759,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc9000040 }, .id = HEX_INS_S4_EXTRACT_RP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = extract(,)", .il_ops = { - { hex_il_op_s4_extract_rp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_extract_rp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60777,18 +60778,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc1c00080 }, .id = HEX_INS_S4_EXTRACTP_RP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = extract(,)", .il_ops = { - { hex_il_op_s4_extractp_rp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_extractp_rp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60796,18 +60797,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020c0, .op = 0xc68000c0 }, .id = HEX_INS_S4_LSLI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 }, { 0x5, 16 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 }, { 0x5, 16 } }, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = lsl(,)", .il_ops = { - { hex_il_op_s4_lsli, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_lsli, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60815,18 +60816,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020fc, .op = 0xc7200000 }, .id = HEX_INS_S4_NTSTBIT_R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = !tstbit(,)", .il_ops = { - { hex_il_op_s4_ntstbit_r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_ntstbit_r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60834,19 +60835,19 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe000c0, .op = 0xc3c000c0 }, .id = HEX_INS_S4_VRCROTATE, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 }, { 0x1, 13 } }, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrcrotate(,,)", .il_ops = { - { hex_il_op_s4_vrcrotate, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_vrcrotate, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60854,19 +60855,19 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe000c0, .op = 0xcba00000 }, .id = HEX_INS_S4_VRCROTATE_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 }, { 0x1, 13 } }, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x1, 5 }, { 0x1, 13 } }, .isa_id = 'u', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vrcrotate(,,)", .il_ops = { - { hex_il_op_s4_vrcrotate_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_vrcrotate_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60874,18 +60875,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc1400080 }, .id = HEX_INS_S4_VXADDSUBH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vxaddsubh(,):sat", .il_ops = { - { hex_il_op_s4_vxaddsubh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_vxaddsubh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60893,18 +60894,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc1c00000 }, .id = HEX_INS_S4_VXADDSUBHR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vxaddsubh(,):rnd:>>1:sat", .il_ops = { - { hex_il_op_s4_vxaddsubhr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_vxaddsubhr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60912,18 +60913,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc1400000 }, .id = HEX_INS_S4_VXADDSUBW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vxaddsubw(,):sat", .il_ops = { - { hex_il_op_s4_vxaddsubw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_vxaddsubw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60931,18 +60932,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc14000c0 }, .id = HEX_INS_S4_VXSUBADDH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vxsubaddh(,):sat", .il_ops = { - { hex_il_op_s4_vxsubaddh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_vxsubaddh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60950,18 +60951,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc1c00040 }, .id = HEX_INS_S4_VXSUBADDHR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vxsubaddh(,):rnd:>>1:sat", .il_ops = { - { hex_il_op_s4_vxsubaddhr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_vxsubaddhr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60969,18 +60970,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc1400040 }, .id = HEX_INS_S4_VXSUBADDW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vxsubaddw(,):sat", .il_ops = { - { hex_il_op_s4_vxsubaddw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_vxsubaddw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -60988,18 +60989,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc1800060 }, .id = HEX_INS_S6_VTRUNEHB_PPP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vtrunehb(,)", .il_ops = { - { hex_il_op_s6_vtrunehb_ppp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s6_vtrunehb_ppp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61007,18 +61008,18 @@ static const HexInsnTemplate templates_normal_0xc[] = { .encoding = { .mask = 0xffe020e0, .op = 0xc18000a0 }, .id = HEX_INS_S6_VTRUNOHB_PPP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vtrunohb(,)", .il_ops = { - { hex_il_op_s6_vtrunohb_ppp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s6_vtrunohb_ppp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -61030,9 +61031,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5400060 }, .id = HEX_INS_A2_ADDH_H16_HH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61040,8 +61041,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = add(.h,.h):<<16", .il_ops = { { hex_il_op_a2_addh_h16_hh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61049,9 +61050,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5400040 }, .id = HEX_INS_A2_ADDH_H16_HL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61059,8 +61060,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = add(.h,.l):<<16", .il_ops = { { hex_il_op_a2_addh_h16_hl, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61068,9 +61069,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5400020 }, .id = HEX_INS_A2_ADDH_H16_LH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61078,8 +61079,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = add(.l,.h):<<16", .il_ops = { { hex_il_op_a2_addh_h16_lh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61087,9 +61088,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5400000 }, .id = HEX_INS_A2_ADDH_H16_LL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61097,8 +61098,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = add(.l,.l):<<16", .il_ops = { { hex_il_op_a2_addh_h16_ll, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61106,9 +61107,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd54000e0 }, .id = HEX_INS_A2_ADDH_H16_SAT_HH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61116,8 +61117,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = add(.h,.h):sat:<<16", .il_ops = { { hex_il_op_a2_addh_h16_sat_hh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61125,9 +61126,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd54000c0 }, .id = HEX_INS_A2_ADDH_H16_SAT_HL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61135,8 +61136,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = add(.h,.l):sat:<<16", .il_ops = { { hex_il_op_a2_addh_h16_sat_hl, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61144,9 +61145,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd54000a0 }, .id = HEX_INS_A2_ADDH_H16_SAT_LH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61154,8 +61155,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = add(.l,.h):sat:<<16", .il_ops = { { hex_il_op_a2_addh_h16_sat_lh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61163,9 +61164,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5400080 }, .id = HEX_INS_A2_ADDH_H16_SAT_LL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61173,8 +61174,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = add(.l,.l):sat:<<16", .il_ops = { { hex_il_op_a2_addh_h16_sat_ll, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61182,9 +61183,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5000040 }, .id = HEX_INS_A2_ADDH_L16_HL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61192,8 +61193,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = add(.l,.h)", .il_ops = { { hex_il_op_a2_addh_l16_hl, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61201,9 +61202,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5000000 }, .id = HEX_INS_A2_ADDH_L16_LL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61211,8 +61212,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = add(.l,.l)", .il_ops = { { hex_il_op_a2_addh_l16_ll, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61220,9 +61221,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd50000c0 }, .id = HEX_INS_A2_ADDH_L16_SAT_HL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61230,8 +61231,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = add(.l,.h):sat", .il_ops = { { hex_il_op_a2_addh_l16_sat_hl, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61239,9 +61240,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5000080 }, .id = HEX_INS_A2_ADDH_L16_SAT_LL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61249,8 +61250,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = add(.l,.l):sat", .il_ops = { { hex_il_op_a2_addh_l16_sat_ll, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61258,9 +61259,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd30000e0 }, .id = HEX_INS_A2_ADDP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61268,8 +61269,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = add(,)", .il_ops = { { hex_il_op_a2_addp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61277,18 +61278,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd36000a0 }, .id = HEX_INS_A2_ADDPSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,):sat", .il_ops = { - { hex_il_op_a2_addpsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_addpsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61296,9 +61297,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd36000e0 }, .id = HEX_INS_A2_ADDSPH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61306,8 +61307,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = add(,):raw:hi", .il_ops = { { hex_il_op_a2_addsph, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61315,9 +61316,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd36000c0 }, .id = HEX_INS_A2_ADDSPL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61325,8 +61326,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = add(,):raw:lo", .il_ops = { { hex_il_op_a2_addspl, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61334,9 +61335,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3e00000 }, .id = HEX_INS_A2_ANDP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61344,8 +61345,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = and(,)", .il_ops = { { hex_il_op_a2_andp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61353,9 +61354,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5c00000 }, .id = HEX_INS_A2_MAX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61363,8 +61364,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = max(,)", .il_ops = { { hex_il_op_a2_max, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61372,9 +61373,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3c00080 }, .id = HEX_INS_A2_MAXP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61382,8 +61383,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = max(,)", .il_ops = { { hex_il_op_a2_maxp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61391,9 +61392,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5c00080 }, .id = HEX_INS_A2_MAXU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61401,8 +61402,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = maxu(,)", .il_ops = { { hex_il_op_a2_maxu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61410,9 +61411,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3c000a0 }, .id = HEX_INS_A2_MAXUP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61420,8 +61421,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = maxu(,)", .il_ops = { { hex_il_op_a2_maxup, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61429,9 +61430,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5a00000 }, .id = HEX_INS_A2_MIN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61439,8 +61440,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = min(,)", .il_ops = { { hex_il_op_a2_min, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61448,9 +61449,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3a000c0 }, .id = HEX_INS_A2_MINP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61458,8 +61459,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = min(,)", .il_ops = { { hex_il_op_a2_minp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61467,9 +61468,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5a00080 }, .id = HEX_INS_A2_MINU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61477,8 +61478,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = minu(,)", .il_ops = { { hex_il_op_a2_minu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61486,9 +61487,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3a000e0 }, .id = HEX_INS_A2_MINUP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61496,8 +61497,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = minu(,)", .il_ops = { { hex_il_op_a2_minup, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61505,9 +61506,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3e00040 }, .id = HEX_INS_A2_ORP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61515,8 +61516,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = or(,)", .il_ops = { { hex_il_op_a2_orp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61524,9 +61525,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5600060 }, .id = HEX_INS_A2_SUBH_H16_HH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61534,8 +61535,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = sub(.h,.h):<<16", .il_ops = { { hex_il_op_a2_subh_h16_hh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61543,9 +61544,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5600040 }, .id = HEX_INS_A2_SUBH_H16_HL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61553,8 +61554,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = sub(.h,.l):<<16", .il_ops = { { hex_il_op_a2_subh_h16_hl, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61562,9 +61563,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5600020 }, .id = HEX_INS_A2_SUBH_H16_LH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61572,8 +61573,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = sub(.l,.h):<<16", .il_ops = { { hex_il_op_a2_subh_h16_lh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61581,9 +61582,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5600000 }, .id = HEX_INS_A2_SUBH_H16_LL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61591,8 +61592,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = sub(.l,.l):<<16", .il_ops = { { hex_il_op_a2_subh_h16_ll, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61600,9 +61601,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd56000e0 }, .id = HEX_INS_A2_SUBH_H16_SAT_HH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61610,8 +61611,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = sub(.h,.h):sat:<<16", .il_ops = { { hex_il_op_a2_subh_h16_sat_hh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61619,9 +61620,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd56000c0 }, .id = HEX_INS_A2_SUBH_H16_SAT_HL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61629,8 +61630,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = sub(.h,.l):sat:<<16", .il_ops = { { hex_il_op_a2_subh_h16_sat_hl, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61638,9 +61639,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd56000a0 }, .id = HEX_INS_A2_SUBH_H16_SAT_LH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61648,8 +61649,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = sub(.l,.h):sat:<<16", .il_ops = { { hex_il_op_a2_subh_h16_sat_lh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61657,9 +61658,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5600080 }, .id = HEX_INS_A2_SUBH_H16_SAT_LL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61667,8 +61668,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = sub(.l,.l):sat:<<16", .il_ops = { { hex_il_op_a2_subh_h16_sat_ll, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61676,9 +61677,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5200040 }, .id = HEX_INS_A2_SUBH_L16_HL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61686,8 +61687,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = sub(.l,.h)", .il_ops = { { hex_il_op_a2_subh_l16_hl, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61695,9 +61696,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5200000 }, .id = HEX_INS_A2_SUBH_L16_LL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61705,8 +61706,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = sub(.l,.l)", .il_ops = { { hex_il_op_a2_subh_l16_ll, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61714,9 +61715,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd52000c0 }, .id = HEX_INS_A2_SUBH_L16_SAT_HL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61724,8 +61725,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = sub(.l,.h):sat", .il_ops = { { hex_il_op_a2_subh_l16_sat_hl, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61733,9 +61734,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5200080 }, .id = HEX_INS_A2_SUBH_L16_SAT_LL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61743,8 +61744,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = sub(.l,.l):sat", .il_ops = { { hex_il_op_a2_subh_l16_sat_ll, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61752,9 +61753,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd32000e0 }, .id = HEX_INS_A2_SUBP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61762,8 +61763,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = sub(,)", .il_ops = { { hex_il_op_a2_subp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61771,9 +61772,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3000040 }, .id = HEX_INS_A2_VADDH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61781,8 +61782,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vaddh(,)", .il_ops = { { hex_il_op_a2_vaddh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61790,9 +61791,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3000060 }, .id = HEX_INS_A2_VADDHS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61800,8 +61801,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vaddh(,):sat", .il_ops = { { hex_il_op_a2_vaddhs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61809,9 +61810,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3000000 }, .id = HEX_INS_A2_VADDUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61819,8 +61820,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vaddub(,)", .il_ops = { { hex_il_op_a2_vaddub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61828,9 +61829,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3000020 }, .id = HEX_INS_A2_VADDUBS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61838,8 +61839,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vaddub(,):sat", .il_ops = { { hex_il_op_a2_vaddubs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61847,9 +61848,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3000080 }, .id = HEX_INS_A2_VADDUHS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61857,8 +61858,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vadduh(,):sat", .il_ops = { { hex_il_op_a2_vadduhs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61866,9 +61867,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd30000a0 }, .id = HEX_INS_A2_VADDW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61876,8 +61877,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vaddw(,)", .il_ops = { { hex_il_op_a2_vaddw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61885,9 +61886,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd30000c0 }, .id = HEX_INS_A2_VADDWS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61895,8 +61896,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vaddw(,):sat", .il_ops = { { hex_il_op_a2_vaddws, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61904,9 +61905,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3400040 }, .id = HEX_INS_A2_VAVGH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61914,8 +61915,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vavgh(,)", .il_ops = { { hex_il_op_a2_vavgh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61923,9 +61924,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3400080 }, .id = HEX_INS_A2_VAVGHCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61933,8 +61934,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vavgh(,):crnd", .il_ops = { { hex_il_op_a2_vavghcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61942,9 +61943,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3400060 }, .id = HEX_INS_A2_VAVGHR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61952,8 +61953,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vavgh(,):rnd", .il_ops = { { hex_il_op_a2_vavghr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61961,9 +61962,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3400000 }, .id = HEX_INS_A2_VAVGUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61971,8 +61972,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vavgub(,)", .il_ops = { { hex_il_op_a2_vavgub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61980,9 +61981,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3400020 }, .id = HEX_INS_A2_VAVGUBR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -61990,8 +61991,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vavgub(,):rnd", .il_ops = { { hex_il_op_a2_vavgubr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -61999,9 +62000,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd34000a0 }, .id = HEX_INS_A2_VAVGUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62009,8 +62010,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vavguh(,)", .il_ops = { { hex_il_op_a2_vavguh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62018,9 +62019,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd34000c0 }, .id = HEX_INS_A2_VAVGUHR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62028,8 +62029,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vavguh(,):rnd", .il_ops = { { hex_il_op_a2_vavguhr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62037,9 +62038,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3600060 }, .id = HEX_INS_A2_VAVGUW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62047,8 +62048,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vavguw(,)", .il_ops = { { hex_il_op_a2_vavguw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62056,9 +62057,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3600080 }, .id = HEX_INS_A2_VAVGUWR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62066,8 +62067,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vavguw(,):rnd", .il_ops = { { hex_il_op_a2_vavguwr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62075,9 +62076,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3600000 }, .id = HEX_INS_A2_VAVGW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62085,8 +62086,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vavgw(,)", .il_ops = { { hex_il_op_a2_vavgw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62094,9 +62095,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3600040 }, .id = HEX_INS_A2_VAVGWCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62104,8 +62105,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vavgw(,):crnd", .il_ops = { { hex_il_op_a2_vavgwcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62113,9 +62114,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3600020 }, .id = HEX_INS_A2_VAVGWR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62123,8 +62124,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vavgw(,):rnd", .il_ops = { { hex_il_op_a2_vavgwr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62132,9 +62133,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd20000c0 }, .id = HEX_INS_A2_VCMPBEQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62142,8 +62143,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vcmpb.eq(,)", .il_ops = { { hex_il_op_a2_vcmpbeq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62151,9 +62152,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd20000e0 }, .id = HEX_INS_A2_VCMPBGTU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62161,8 +62162,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vcmpb.gtu(,)", .il_ops = { { hex_il_op_a2_vcmpbgtu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62170,9 +62171,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2000060 }, .id = HEX_INS_A2_VCMPHEQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62180,8 +62181,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vcmph.eq(,)", .il_ops = { { hex_il_op_a2_vcmpheq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62189,9 +62190,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2000080 }, .id = HEX_INS_A2_VCMPHGT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62199,8 +62200,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vcmph.gt(,)", .il_ops = { { hex_il_op_a2_vcmphgt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62208,9 +62209,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd20000a0 }, .id = HEX_INS_A2_VCMPHGTU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62218,8 +62219,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vcmph.gtu(,)", .il_ops = { { hex_il_op_a2_vcmphgtu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62227,18 +62228,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2000000 }, .id = HEX_INS_A2_VCMPWEQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmpw.eq(,)", .il_ops = { - { hex_il_op_a2_vcmpweq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_vcmpweq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62246,18 +62247,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2000020 }, .id = HEX_INS_A2_VCMPWGT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmpw.gt(,)", .il_ops = { - { hex_il_op_a2_vcmpwgt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_vcmpwgt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62265,18 +62266,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2000040 }, .id = HEX_INS_A2_VCMPWGTU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmpw.gtu(,)", .il_ops = { - { hex_il_op_a2_vcmpwgtu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_vcmpwgtu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62284,9 +62285,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3c000c0 }, .id = HEX_INS_A2_VMAXB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62294,8 +62295,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vmaxb(,)", .il_ops = { { hex_il_op_a2_vmaxb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62303,9 +62304,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3c00020 }, .id = HEX_INS_A2_VMAXH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62313,8 +62314,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vmaxh(,)", .il_ops = { { hex_il_op_a2_vmaxh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62322,9 +62323,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3c00000 }, .id = HEX_INS_A2_VMAXUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62332,8 +62333,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vmaxub(,)", .il_ops = { { hex_il_op_a2_vmaxub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62341,9 +62342,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3c00040 }, .id = HEX_INS_A2_VMAXUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62351,8 +62352,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vmaxuh(,)", .il_ops = { { hex_il_op_a2_vmaxuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62360,9 +62361,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3a000a0 }, .id = HEX_INS_A2_VMAXUW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62370,8 +62371,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vmaxuw(,)", .il_ops = { { hex_il_op_a2_vmaxuw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62379,9 +62380,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3c00060 }, .id = HEX_INS_A2_VMAXW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62389,8 +62390,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vmaxw(,)", .il_ops = { { hex_il_op_a2_vmaxw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62398,9 +62399,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3c000e0 }, .id = HEX_INS_A2_VMINB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62408,8 +62409,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vminb(,)", .il_ops = { { hex_il_op_a2_vminb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62417,9 +62418,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3a00020 }, .id = HEX_INS_A2_VMINH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62427,8 +62428,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vminh(,)", .il_ops = { { hex_il_op_a2_vminh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62436,9 +62437,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3a00000 }, .id = HEX_INS_A2_VMINUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62446,8 +62447,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vminub(,)", .il_ops = { { hex_il_op_a2_vminub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62455,9 +62456,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3a00040 }, .id = HEX_INS_A2_VMINUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62465,8 +62466,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vminuh(,)", .il_ops = { { hex_il_op_a2_vminuh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62474,9 +62475,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3a00080 }, .id = HEX_INS_A2_VMINUW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62484,8 +62485,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vminuw(,)", .il_ops = { { hex_il_op_a2_vminuw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62493,9 +62494,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3a00060 }, .id = HEX_INS_A2_VMINW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62503,8 +62504,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vminw(,)", .il_ops = { { hex_il_op_a2_vminw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62512,9 +62513,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3800000 }, .id = HEX_INS_A2_VNAVGH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62522,8 +62523,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vnavgh(,)", .il_ops = { { hex_il_op_a2_vnavgh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62531,9 +62532,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3800040 }, .id = HEX_INS_A2_VNAVGHCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62541,8 +62542,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vnavgh(,):crnd:sat", .il_ops = { { hex_il_op_a2_vnavghcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62550,9 +62551,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3800020 }, .id = HEX_INS_A2_VNAVGHR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62560,8 +62561,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vnavgh(,):rnd:sat", .il_ops = { { hex_il_op_a2_vnavghr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62569,9 +62570,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3800060 }, .id = HEX_INS_A2_VNAVGW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62579,8 +62580,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vnavgw(,)", .il_ops = { { hex_il_op_a2_vnavgw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62588,9 +62589,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd38000c0 }, .id = HEX_INS_A2_VNAVGWCR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62598,8 +62599,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vnavgw(,):crnd:sat", .il_ops = { { hex_il_op_a2_vnavgwcr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62607,9 +62608,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3800080 }, .id = HEX_INS_A2_VNAVGWR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62617,8 +62618,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vnavgw(,):rnd:sat", .il_ops = { { hex_il_op_a2_vnavgwr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62626,9 +62627,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3200040 }, .id = HEX_INS_A2_VSUBH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62636,8 +62637,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vsubh(,)", .il_ops = { { hex_il_op_a2_vsubh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62645,9 +62646,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3200060 }, .id = HEX_INS_A2_VSUBHS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62655,8 +62656,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vsubh(,):sat", .il_ops = { { hex_il_op_a2_vsubhs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62664,9 +62665,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3200000 }, .id = HEX_INS_A2_VSUBUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62674,8 +62675,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vsubub(,)", .il_ops = { { hex_il_op_a2_vsubub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62683,9 +62684,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3200020 }, .id = HEX_INS_A2_VSUBUBS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62693,8 +62694,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vsubub(,):sat", .il_ops = { { hex_il_op_a2_vsububs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62702,9 +62703,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3200080 }, .id = HEX_INS_A2_VSUBUHS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62712,8 +62713,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vsubuh(,):sat", .il_ops = { { hex_il_op_a2_vsubuhs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62721,9 +62722,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd32000a0 }, .id = HEX_INS_A2_VSUBW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62731,8 +62732,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vsubw(,)", .il_ops = { { hex_il_op_a2_vsubw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62740,9 +62741,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd32000c0 }, .id = HEX_INS_A2_VSUBWS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62750,8 +62751,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vsubw(,):sat", .il_ops = { { hex_il_op_a2_vsubws, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62759,9 +62760,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3e00080 }, .id = HEX_INS_A2_XORP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62769,8 +62770,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = xor(,)", .il_ops = { { hex_il_op_a2_xorp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62778,9 +62779,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3e00020 }, .id = HEX_INS_A4_ANDNP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62788,8 +62789,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = and(,~)", .il_ops = { { hex_il_op_a4_andnp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62797,18 +62798,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd4200000 }, .id = HEX_INS_A4_BITSPLIT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = bitsplit(,)", .il_ops = { - { hex_il_op_a4_bitsplit, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_bitsplit, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62816,18 +62817,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd20020a0 }, .id = HEX_INS_A4_BOUNDSCHECK_HI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = boundscheck(,):raw:hi", .il_ops = { - { hex_il_op_a4_boundscheck_hi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_boundscheck_hi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62835,18 +62836,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2002080 }, .id = HEX_INS_A4_BOUNDSCHECK_LO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 15 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 16 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = boundscheck(,):raw:lo", .il_ops = { - { hex_il_op_a4_boundscheck_lo, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_boundscheck_lo, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62854,9 +62855,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe0201c, .op = 0xdd000000 }, .id = HEX_INS_A4_CMPBEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62864,8 +62865,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = cmpb.eq(,)", .il_ops = { { hex_il_op_a4_cmpbeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62873,9 +62874,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe0201c, .op = 0xdd200000 }, .id = HEX_INS_A4_CMPBGTI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62883,8 +62884,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = cmpb.gt(,)", .il_ops = { { hex_il_op_a4_cmpbgti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62892,9 +62893,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe0301c, .op = 0xdd400000 }, .id = HEX_INS_A4_CMPBGTUI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 5 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 5 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62902,8 +62903,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = cmpb.gtu(,)", .il_ops = { { hex_il_op_a4_cmpbgtui, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62911,9 +62912,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe0201c, .op = 0xdd000008 }, .id = HEX_INS_A4_CMPHEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62921,8 +62922,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = cmph.eq(,)", .il_ops = { { hex_il_op_a4_cmpheqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62930,9 +62931,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe0201c, .op = 0xdd200008 }, .id = HEX_INS_A4_CMPHGTI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62940,8 +62941,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = cmph.gt(,)", .il_ops = { { hex_il_op_a4_cmphgti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62949,9 +62950,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe0301c, .op = 0xdd400008 }, .id = HEX_INS_A4_CMPHGTUI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 5 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x7, 5 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62959,8 +62960,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = cmph.gtu(,)", .il_ops = { { hex_il_op_a4_cmphgtui, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62968,18 +62969,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3e000e0 }, .id = HEX_INS_A4_MODWRAPU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = modwrap(,)", .il_ops = { - { hex_il_op_a4_modwrapu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_modwrapu, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -62987,9 +62988,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd3e00060 }, .id = HEX_INS_A4_ORNP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -62997,8 +62998,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = or(,~)", .il_ops = { { hex_il_op_a4_ornp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63006,18 +63007,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2002060 }, .id = HEX_INS_A4_TLBMATCH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = tlbmatch(,)", .il_ops = { - { hex_il_op_a4_tlbmatch, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_tlbmatch, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63025,18 +63026,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2002000 }, .id = HEX_INS_A4_VCMPBEQ_ANY, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = any8(vcmpb.eq(,))", .il_ops = { - { hex_il_op_a4_vcmpbeq_any, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_vcmpbeq_any, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63044,9 +63045,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe0201c, .op = 0xdc000000 }, .id = HEX_INS_A4_VCMPBEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -63054,8 +63055,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vcmpb.eq(,)", .il_ops = { { hex_il_op_a4_vcmpbeqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63063,9 +63064,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2002040 }, .id = HEX_INS_A4_VCMPBGT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -63073,8 +63074,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vcmpb.gt(,)", .il_ops = { { hex_il_op_a4_vcmpbgt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63082,9 +63083,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe0201c, .op = 0xdc200000 }, .id = HEX_INS_A4_VCMPBGTI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -63092,8 +63093,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vcmpb.gt(,)", .il_ops = { { hex_il_op_a4_vcmpbgti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63101,9 +63102,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe0301c, .op = 0xdc400000 }, .id = HEX_INS_A4_VCMPBGTUI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x7, 5 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x7, 5 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -63111,8 +63112,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vcmpb.gtu(,)", .il_ops = { { hex_il_op_a4_vcmpbgtui, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63120,9 +63121,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe0201c, .op = 0xdc000008 }, .id = HEX_INS_A4_VCMPHEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -63130,8 +63131,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vcmph.eq(,)", .il_ops = { { hex_il_op_a4_vcmpheqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63139,9 +63140,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe0201c, .op = 0xdc200008 }, .id = HEX_INS_A4_VCMPHGTI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -63149,8 +63150,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vcmph.gt(,)", .il_ops = { { hex_il_op_a4_vcmphgti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63158,9 +63159,9 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe0301c, .op = 0xdc400008 }, .id = HEX_INS_A4_VCMPHGTUI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x7, 5 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x7, 5 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -63168,8 +63169,8 @@ static const HexInsnTemplate templates_normal_0xd[] = { .syntax = " = vcmph.gtu(,)", .il_ops = { { hex_il_op_a4_vcmphgtui, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63177,18 +63178,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe0201c, .op = 0xdc000010 }, .id = HEX_INS_A4_VCMPWEQI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmpw.eq(,)", .il_ops = { - { hex_il_op_a4_vcmpweqi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_vcmpweqi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63196,18 +63197,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe0201c, .op = 0xdc200010 }, .id = HEX_INS_A4_VCMPWGTI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmpw.gt(,)", .il_ops = { - { hex_il_op_a4_vcmpwgti, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_vcmpwgti, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63215,18 +63216,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe0301c, .op = 0xdc400010 }, .id = HEX_INS_A4_VCMPWGTUI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x7, 5 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x7, 5 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmpw.gtu(,)", .il_ops = { - { hex_il_op_a4_vcmpwgtui, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a4_vcmpwgtui, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63234,18 +63235,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2002020 }, .id = HEX_INS_A6_VCMPBEQ_NOTANY, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = !any8(vcmpb.eq(,))", .il_ops = { - { hex_il_op_a6_vcmpbeq_notany, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a6_vcmpbeq_notany, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63253,18 +63254,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2800000 }, .id = HEX_INS_C2_CMPEQP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmp.eq(,)", .il_ops = { - { hex_il_op_c2_cmpeqp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_cmpeqp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63272,18 +63273,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2800040 }, .id = HEX_INS_C2_CMPGTP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmp.gt(,)", .il_ops = { - { hex_il_op_c2_cmpgtp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_cmpgtp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63291,18 +63292,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2800080 }, .id = HEX_INS_C2_CMPGTUP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmp.gtu(,)", .il_ops = { - { hex_il_op_c2_cmpgtup, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_cmpgtup, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63310,19 +63311,19 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe02080, .op = 0xd1000000 }, .id = HEX_INS_C2_VMUX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmux(,,)", .il_ops = { - { hex_il_op_c2_vmux, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_vmux, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63330,18 +63331,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe03c1c, .op = 0xdc800010 }, .id = HEX_INS_F2_DFCLASS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 5 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x5, 5 } }, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dfclass(,)", .il_ops = { - { hex_il_op_f2_dfclass, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_dfclass, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63349,18 +63350,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2e00000 }, .id = HEX_INS_F2_DFCMPEQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dfcmp.eq(,)", .il_ops = { - { hex_il_op_f2_dfcmpeq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_dfcmpeq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63368,18 +63369,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2e00040 }, .id = HEX_INS_F2_DFCMPGE, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dfcmp.ge(,)", .il_ops = { - { hex_il_op_f2_dfcmpge, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_dfcmpge, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63387,18 +63388,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2e00020 }, .id = HEX_INS_F2_DFCMPGT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dfcmp.gt(,)", .il_ops = { - { hex_il_op_f2_dfcmpgt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_dfcmpgt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63406,18 +63407,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020fc, .op = 0xd2e00060 }, .id = HEX_INS_F2_DFCMPUO, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dfcmp.uo(,)", .il_ops = { - { hex_il_op_f2_dfcmpuo, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_dfcmpuo, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63425,17 +63426,17 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffdf0000, .op = 0xd9400000 }, .id = HEX_INS_F2_DFIMM_N, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dfmake():neg", .il_ops = { - { hex_il_op_f2_dfimm_n, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_dfimm_n, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63443,17 +63444,17 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffdf0000, .op = 0xd9000000 }, .id = HEX_INS_F2_DFIMM_P, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dfmake():pos", .il_ops = { - { hex_il_op_f2_dfimm_p, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_dfimm_p, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63461,17 +63462,17 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffdf0000, .op = 0xd6400000 }, .id = HEX_INS_F2_SFIMM_N, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sfmake():neg", .il_ops = { - { hex_il_op_f2_sfimm_n, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sfimm_n, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63479,17 +63480,17 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffdf0000, .op = 0xd6000000 }, .id = HEX_INS_F2_SFIMM_P, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sfmake():pos", .il_ops = { - { hex_il_op_f2_sfimm_p, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sfimm_p, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63497,19 +63498,19 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xff000000, .op = 0xd8000000 }, .id = HEX_INS_M4_MPYRI_ADDI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x3, 5 }, { 0x1, 13 }, { 0x2, 21 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 }, { 0x1, 23 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x3, 5 }, { 0x1, 13 }, { 0x2, 21 } }, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 0 }, { 0x1, 23 } }, .isa_id = 'U', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,mpyi(,))", .il_ops = { - { hex_il_op_m4_mpyri_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_mpyri_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63517,19 +63518,19 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xff800000, .op = 0xdf800000 }, .id = HEX_INS_M4_MPYRI_ADDR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x3, 5 }, { 0x1, 13 }, { 0x2, 21 } }, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x3, 5 }, { 0x1, 13 }, { 0x2, 21 } }, .isa_id = 'u', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,mpyi(,))", .il_ops = { - { hex_il_op_m4_mpyri_addr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_mpyri_addr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63537,19 +63538,19 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xff800000, .op = 0xdf000000 }, .id = HEX_INS_M4_MPYRI_ADDR_U2, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 }, { 0x1, 13 }, { 0x2, 21 } }, .imm_scale = 2, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x3, 5 }, { 0x1, 13 }, { 0x2, 21 } }, .isa_id = 'u', .imm_scale = 2, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,mpyi(,))", .il_ops = { - { hex_il_op_m4_mpyri_addr_u2, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_mpyri_addr_u2, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63557,19 +63558,19 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xff800000, .op = 0xd7000000 }, .id = HEX_INS_M4_MPYRR_ADDI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x3, 5 }, { 0x1, 13 }, { 0x2, 21 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x3, 5 }, { 0x1, 13 }, { 0x2, 21 } }, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,mpyi(,))", .il_ops = { - { hex_il_op_m4_mpyrr_addi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_mpyrr_addi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63577,18 +63578,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd0000000 }, .id = HEX_INS_S2_PARITYP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = parity(,)", .il_ops = { - { hex_il_op_s2_parityp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_parityp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63596,19 +63597,19 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xff800000, .op = 0xdb000000 }, .id = HEX_INS_S4_ADDADDI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x3, 5 }, { 0x1, 13 }, { 0x2, 21 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x3, 5 }, { 0x1, 13 }, { 0x2, 21 } }, .isa_id = 's', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,add(,))", .il_ops = { - { hex_il_op_s4_addaddi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_addaddi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63616,19 +63617,19 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xff000017, .op = 0xde000004 }, .id = HEX_INS_S4_ADDI_ASL_RI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 3 }, { 0x3, 5 }, { 0x1, 13 }, { 0x3, 21 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 3 }, { 0x3, 5 }, { 0x1, 13 }, { 0x3, 21 } }, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,asl(,))", .il_ops = { - { hex_il_op_s4_addi_asl_ri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_addi_asl_ri, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63636,19 +63637,19 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xff000017, .op = 0xde000014 }, .id = HEX_INS_S4_ADDI_LSR_RI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 3 }, { 0x3, 5 }, { 0x1, 13 }, { 0x3, 21 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 3 }, { 0x3, 5 }, { 0x1, 13 }, { 0x3, 21 } }, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,lsr(,))", .il_ops = { - { hex_il_op_s4_addi_lsr_ri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_addi_lsr_ri, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63656,19 +63657,19 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xff000017, .op = 0xde000000 }, .id = HEX_INS_S4_ANDI_ASL_RI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 3 }, { 0x3, 5 }, { 0x1, 13 }, { 0x3, 21 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 3 }, { 0x3, 5 }, { 0x1, 13 }, { 0x3, 21 } }, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,asl(,))", .il_ops = { - { hex_il_op_s4_andi_asl_ri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_andi_asl_ri, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63676,19 +63677,19 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xff000017, .op = 0xde000010 }, .id = HEX_INS_S4_ANDI_LSR_RI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 3 }, { 0x3, 5 }, { 0x1, 13 }, { 0x3, 21 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 3 }, { 0x3, 5 }, { 0x1, 13 }, { 0x3, 21 } }, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = and(,lsr(,))", .il_ops = { - { hex_il_op_s4_andi_lsr_ri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_andi_lsr_ri, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63696,18 +63697,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffc00000, .op = 0xda000000 }, .id = HEX_INS_S4_OR_ANDI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= and(,)", .il_ops = { - { hex_il_op_s4_or_andi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_or_andi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63715,19 +63716,19 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffc00000, .op = 0xda400000 }, .id = HEX_INS_S4_OR_ANDIX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = or(,and(,))", .il_ops = { - { hex_il_op_s4_or_andix, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_or_andix, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63735,18 +63736,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffc00000, .op = 0xda800000 }, .id = HEX_INS_S4_OR_ORI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x9, 5 }, { 0x1, 21 } }, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= or(,)", .il_ops = { - { hex_il_op_s4_or_ori, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_or_ori, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63754,19 +63755,19 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xff000017, .op = 0xde000002 }, .id = HEX_INS_S4_ORI_ASL_RI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 3 }, { 0x3, 5 }, { 0x1, 13 }, { 0x3, 21 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 3 }, { 0x3, 5 }, { 0x1, 13 }, { 0x3, 21 } }, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = or(,asl(,))", .il_ops = { - { hex_il_op_s4_ori_asl_ri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_ori_asl_ri, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63774,19 +63775,19 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xff000017, .op = 0xde000012 }, .id = HEX_INS_S4_ORI_LSR_RI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 3 }, { 0x3, 5 }, { 0x1, 13 }, { 0x3, 21 } }, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 3 }, { 0x3, 5 }, { 0x1, 13 }, { 0x3, 21 } }, .isa_id = 'u', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = or(,lsr(,))", .il_ops = { - { hex_il_op_s4_ori_lsr_ri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_ori_lsr_ri, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63794,18 +63795,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5e00000 }, .id = HEX_INS_S4_PARITY, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = parity(,)", .il_ops = { - { hex_il_op_s4_parity, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_parity, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63813,19 +63814,19 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xff800000, .op = 0xdb800000 }, .id = HEX_INS_S4_SUBADDI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x3, 5 }, { 0x1, 13 }, { 0x2, 21 } }, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x3, 5 }, { 0x1, 13 }, { 0x2, 21 } }, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,sub(,))", .il_ops = { - { hex_il_op_s4_subaddi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_subaddi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63833,19 +63834,19 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xff000017, .op = 0xde000006 }, .id = HEX_INS_S4_SUBI_ASL_RI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 3 }, { 0x3, 5 }, { 0x1, 13 }, { 0x3, 21 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 3 }, { 0x3, 5 }, { 0x1, 13 }, { 0x3, 21 } }, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sub(,asl(,))", .il_ops = { - { hex_il_op_s4_subi_asl_ri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_subi_asl_ri, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63853,19 +63854,19 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xff000017, .op = 0xde000016 }, .id = HEX_INS_S4_SUBI_LSR_RI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 3 }, { 0x3, 5 }, { 0x1, 13 }, { 0x3, 21 } }, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x1, 3 }, { 0x3, 5 }, { 0x1, 13 }, { 0x3, 21 } }, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM, .masks = { { 0x5, 8 } }, .isa_id = 'U', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sub(,lsr(,))", .il_ops = { - { hex_il_op_s4_subi_lsr_ri, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s4_subi_lsr_ri, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63873,18 +63874,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5800000 }, .id = HEX_INS_DEP_A2_ADDSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,):sat:deprecated", .il_ops = { - { hex_il_op_dep_a2_addsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_dep_a2_addsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63892,18 +63893,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd5800080 }, .id = HEX_INS_DEP_A2_SUBSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sub(,):sat:deprecated", .il_ops = { - { hex_il_op_dep_a2_subsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_dep_a2_subsat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63911,18 +63912,18 @@ static const HexInsnTemplate templates_normal_0xd[] = { .encoding = { .mask = 0xffe020e0, .op = 0xd4000000 }, .id = HEX_INS_DEP_S2_PACKHL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = packhl(,):deprecated", .il_ops = { - { hex_il_op_dep_s2_packhl, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_dep_s2_packhl, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -63934,9 +63935,9 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8400020 }, .id = HEX_INS_A2_VRADDUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -63944,8 +63945,8 @@ static const HexInsnTemplate templates_normal_0xe[] = { .syntax = " = vraddub(,)", .il_ops = { { hex_il_op_a2_vraddub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63953,9 +63954,9 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea400020 }, .id = HEX_INS_A2_VRADDUB_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -63963,8 +63964,8 @@ static const HexInsnTemplate templates_normal_0xe[] = { .syntax = " += vraddub(,)", .il_ops = { { hex_il_op_a2_vraddub_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63972,9 +63973,9 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8400040 }, .id = HEX_INS_A2_VRSADUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -63982,8 +63983,8 @@ static const HexInsnTemplate templates_normal_0xe[] = { .syntax = " = vrsadub(,)", .il_ops = { { hex_il_op_a2_vrsadub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -63991,9 +63992,9 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea400040 }, .id = HEX_INS_A2_VRSADUB_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -64001,8 +64002,8 @@ static const HexInsnTemplate templates_normal_0xe[] = { .syntax = " += vrsadub(,)", .il_ops = { { hex_il_op_a2_vrsadub_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64010,19 +64011,19 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe02080, .op = 0xeaa00000 }, .id = HEX_INS_A5_ACS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 1 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'e', .syntax = 1 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ", = vacsh(,)", .il_ops = { - { hex_il_op_a5_acs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a5_acs, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64030,19 +64031,19 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe02080, .op = 0xeae00000 }, .id = HEX_INS_A6_VMINUB_RDP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 1 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'e', .syntax = 1 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ", = vminub(,)", .il_ops = { - { hex_il_op_a6_vminub_rdp, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a6_vminub_rdp, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64050,18 +64051,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8000060 }, .id = HEX_INS_F2_DFADD, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dfadd(,)", .il_ops = { - { hex_il_op_f2_dfadd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_dfadd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64069,18 +64070,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8200060 }, .id = HEX_INS_F2_DFMAX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dfmax(,)", .il_ops = { - { hex_il_op_f2_dfmax, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_dfmax, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64088,18 +64089,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8c00060 }, .id = HEX_INS_F2_DFMIN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dfmin(,)", .il_ops = { - { hex_il_op_f2_dfmin, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_dfmin, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64107,18 +64108,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8400060 }, .id = HEX_INS_F2_DFMPYFIX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dfmpyfix(,)", .il_ops = { - { hex_il_op_f2_dfmpyfix, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_dfmpyfix, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64126,18 +64127,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea800060 }, .id = HEX_INS_F2_DFMPYHH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += dfmpyhh(,)", .il_ops = { - { hex_il_op_f2_dfmpyhh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_dfmpyhh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64145,18 +64146,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea000060 }, .id = HEX_INS_F2_DFMPYLH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += dfmpylh(,)", .il_ops = { - { hex_il_op_f2_dfmpylh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_dfmpylh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64164,18 +64165,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8a00060 }, .id = HEX_INS_F2_DFMPYLL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dfmpyll(,)", .il_ops = { - { hex_il_op_f2_dfmpyll, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_dfmpyll, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64183,18 +64184,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8800060 }, .id = HEX_INS_F2_DFSUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = dfsub(,)", .il_ops = { - { hex_il_op_f2_dfsub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_dfsub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64202,18 +64203,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeb000000 }, .id = HEX_INS_F2_SFADD, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sfadd(,)", .il_ops = { - { hex_il_op_f2_sfadd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sfadd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64221,18 +64222,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xebc00020 }, .id = HEX_INS_F2_SFFIXUPD, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sffixupd(,)", .il_ops = { - { hex_il_op_f2_sffixupd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sffixupd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64240,18 +64241,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xebc00000 }, .id = HEX_INS_F2_SFFIXUPN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sffixupn(,)", .il_ops = { - { hex_il_op_f2_sffixupn, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sffixupn, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64259,18 +64260,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef000080 }, .id = HEX_INS_F2_SFFMA, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += sfmpy(,)", .il_ops = { - { hex_il_op_f2_sffma, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sffma, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64278,18 +64279,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef0000c0 }, .id = HEX_INS_F2_SFFMA_LIB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += sfmpy(,):lib", .il_ops = { - { hex_il_op_f2_sffma_lib, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sffma_lib, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64297,19 +64298,19 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe02080, .op = 0xef600080 }, .id = HEX_INS_F2_SFFMA_SC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += sfmpy(,,):scale", .il_ops = { - { hex_il_op_f2_sffma_sc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sffma_sc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64317,18 +64318,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef0000a0 }, .id = HEX_INS_F2_SFFMS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= sfmpy(,)", .il_ops = { - { hex_il_op_f2_sffms, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sffms, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64336,18 +64337,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef0000e0 }, .id = HEX_INS_F2_SFFMS_LIB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= sfmpy(,):lib", .il_ops = { - { hex_il_op_f2_sffms_lib, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sffms_lib, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64355,18 +64356,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeb800000 }, .id = HEX_INS_F2_SFMAX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sfmax(,)", .il_ops = { - { hex_il_op_f2_sfmax, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sfmax, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64374,18 +64375,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeb800020 }, .id = HEX_INS_F2_SFMIN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sfmin(,)", .il_ops = { - { hex_il_op_f2_sfmin, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sfmin, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64393,18 +64394,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeb400000 }, .id = HEX_INS_F2_SFMPY, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sfmpy(,)", .il_ops = { - { hex_il_op_f2_sfmpy, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sfmpy, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64412,19 +64413,19 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe02080, .op = 0xebe00080 }, .id = HEX_INS_F2_SFRECIPA, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 1 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'e', .syntax = 1 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = ", = sfrecipa(,)", .il_ops = { - { hex_il_op_f2_sfrecipa, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sfrecipa, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64432,18 +64433,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeb000020 }, .id = HEX_INS_F2_SFSUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = sfsub(,)", .il_ops = { - { hex_il_op_f2_sfsub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_f2_sfsub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64451,18 +64452,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef000020 }, .id = HEX_INS_M2_ACCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += add(,)", .il_ops = { - { hex_il_op_m2_acci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_acci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64470,18 +64471,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe02000, .op = 0xe2000000 }, .id = HEX_INS_M2_ACCII, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += add(,)", .il_ops = { - { hex_il_op_m2_accii, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_accii, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64489,18 +64490,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe7000020 }, .id = HEX_INS_M2_CMACI_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += cmpyi(,)", .il_ops = { - { hex_il_op_m2_cmaci_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cmaci_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64508,18 +64509,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe7000040 }, .id = HEX_INS_M2_CMACR_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += cmpyr(,)", .il_ops = { - { hex_il_op_m2_cmacr_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cmacr_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64527,18 +64528,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe70000c0 }, .id = HEX_INS_M2_CMACS_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += cmpy(,):sat", .il_ops = { - { hex_il_op_m2_cmacs_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cmacs_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64546,18 +64547,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe78000c0 }, .id = HEX_INS_M2_CMACS_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += cmpy(,):<<1:sat", .il_ops = { - { hex_il_op_m2_cmacs_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cmacs_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64565,18 +64566,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe74000c0 }, .id = HEX_INS_M2_CMACSC_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += cmpy(,*):sat", .il_ops = { - { hex_il_op_m2_cmacsc_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cmacsc_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64584,18 +64585,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe7c000c0 }, .id = HEX_INS_M2_CMACSC_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += cmpy(,*):<<1:sat", .il_ops = { - { hex_il_op_m2_cmacsc_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cmacsc_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64603,18 +64604,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe5000020 }, .id = HEX_INS_M2_CMPYI_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyi(,)", .il_ops = { - { hex_il_op_m2_cmpyi_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cmpyi_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64622,18 +64623,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe5000040 }, .id = HEX_INS_M2_CMPYR_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyr(,)", .il_ops = { - { hex_il_op_m2_cmpyr_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cmpyr_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64641,18 +64642,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xed2000c0 }, .id = HEX_INS_M2_CMPYRS_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpy(,):rnd:sat", .il_ops = { - { hex_il_op_m2_cmpyrs_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cmpyrs_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64660,18 +64661,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeda000c0 }, .id = HEX_INS_M2_CMPYRS_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpy(,):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_cmpyrs_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cmpyrs_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64679,18 +64680,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xed6000c0 }, .id = HEX_INS_M2_CMPYRSC_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpy(,*):rnd:sat", .il_ops = { - { hex_il_op_m2_cmpyrsc_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cmpyrsc_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64698,18 +64699,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xede000c0 }, .id = HEX_INS_M2_CMPYRSC_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpy(,*):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_cmpyrsc_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cmpyrsc_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64717,18 +64718,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe50000c0 }, .id = HEX_INS_M2_CMPYS_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpy(,):sat", .il_ops = { - { hex_il_op_m2_cmpys_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cmpys_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64736,18 +64737,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe58000c0 }, .id = HEX_INS_M2_CMPYS_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpy(,):<<1:sat", .il_ops = { - { hex_il_op_m2_cmpys_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cmpys_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64755,18 +64756,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe54000c0 }, .id = HEX_INS_M2_CMPYSC_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpy(,*):sat", .il_ops = { - { hex_il_op_m2_cmpysc_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cmpysc_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64774,18 +64775,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe5c000c0 }, .id = HEX_INS_M2_CMPYSC_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpy(,*):<<1:sat", .il_ops = { - { hex_il_op_m2_cmpysc_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cmpysc_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64793,18 +64794,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe70000e0 }, .id = HEX_INS_M2_CNACS_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= cmpy(,):sat", .il_ops = { - { hex_il_op_m2_cnacs_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cnacs_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64812,18 +64813,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe78000e0 }, .id = HEX_INS_M2_CNACS_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= cmpy(,):<<1:sat", .il_ops = { - { hex_il_op_m2_cnacs_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cnacs_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64831,18 +64832,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe74000e0 }, .id = HEX_INS_M2_CNACSC_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= cmpy(,*):sat", .il_ops = { - { hex_il_op_m2_cnacsc_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cnacsc_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64850,18 +64851,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe7c000e0 }, .id = HEX_INS_M2_CNACSC_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= cmpy(,*):<<1:sat", .il_ops = { - { hex_il_op_m2_cnacsc_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_cnacsc_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64869,18 +64870,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe7000000 }, .id = HEX_INS_M2_DPMPYSS_ACC_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(,)", .il_ops = { - { hex_il_op_m2_dpmpyss_acc_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_dpmpyss_acc_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64888,18 +64889,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe7200000 }, .id = HEX_INS_M2_DPMPYSS_NAC_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(,)", .il_ops = { - { hex_il_op_m2_dpmpyss_nac_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_dpmpyss_nac_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64907,18 +64908,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xed200020 }, .id = HEX_INS_M2_DPMPYSS_RND_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(,):rnd", .il_ops = { - { hex_il_op_m2_dpmpyss_rnd_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_dpmpyss_rnd_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64926,18 +64927,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe5000000 }, .id = HEX_INS_M2_DPMPYSS_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(,)", .il_ops = { - { hex_il_op_m2_dpmpyss_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_dpmpyss_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64945,18 +64946,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe7400000 }, .id = HEX_INS_M2_DPMPYUU_ACC_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(,)", .il_ops = { - { hex_il_op_m2_dpmpyuu_acc_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_dpmpyuu_acc_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64964,18 +64965,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe7600000 }, .id = HEX_INS_M2_DPMPYUU_NAC_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(,)", .il_ops = { - { hex_il_op_m2_dpmpyuu_nac_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_dpmpyuu_nac_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -64983,18 +64984,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe5400000 }, .id = HEX_INS_M2_DPMPYUU_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(,)", .il_ops = { - { hex_il_op_m2_dpmpyuu_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_dpmpyuu_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65002,18 +65003,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeda00080 }, .id = HEX_INS_M2_HMMPYH_RS1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(,.h):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_hmmpyh_rs1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_hmmpyh_rs1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65021,18 +65022,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeda00000 }, .id = HEX_INS_M2_HMMPYH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(,.h):<<1:sat", .il_ops = { - { hex_il_op_m2_hmmpyh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_hmmpyh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65040,18 +65041,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xede00080 }, .id = HEX_INS_M2_HMMPYL_RS1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(,.l):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_hmmpyl_rs1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_hmmpyl_rs1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65059,18 +65060,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeda00020 }, .id = HEX_INS_M2_HMMPYL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(,.l):<<1:sat", .il_ops = { - { hex_il_op_m2_hmmpyl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_hmmpyl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65078,18 +65079,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef000000 }, .id = HEX_INS_M2_MACI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyi(,)", .il_ops = { - { hex_il_op_m2_maci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_maci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65097,18 +65098,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe02000, .op = 0xe1800000 }, .id = HEX_INS_M2_MACSIN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyi(,)", .il_ops = { - { hex_il_op_m2_macsin, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_macsin, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65116,18 +65117,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe02000, .op = 0xe1000000 }, .id = HEX_INS_M2_MACSIP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyi(,)", .il_ops = { - { hex_il_op_m2_macsip, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_macsip, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65135,18 +65136,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea2000e0 }, .id = HEX_INS_M2_MMACHS_RS0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpywoh(,):rnd:sat", .il_ops = { - { hex_il_op_m2_mmachs_rs0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmachs_rs0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65154,18 +65155,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeaa000e0 }, .id = HEX_INS_M2_MMACHS_RS1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpywoh(,):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_mmachs_rs1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmachs_rs1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65173,18 +65174,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea0000e0 }, .id = HEX_INS_M2_MMACHS_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpywoh(,):sat", .il_ops = { - { hex_il_op_m2_mmachs_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmachs_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65192,18 +65193,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea8000e0 }, .id = HEX_INS_M2_MMACHS_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpywoh(,):<<1:sat", .il_ops = { - { hex_il_op_m2_mmachs_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmachs_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65211,18 +65212,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea2000a0 }, .id = HEX_INS_M2_MMACLS_RS0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyweh(,):rnd:sat", .il_ops = { - { hex_il_op_m2_mmacls_rs0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmacls_rs0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65230,18 +65231,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeaa000a0 }, .id = HEX_INS_M2_MMACLS_RS1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyweh(,):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_mmacls_rs1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmacls_rs1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65249,18 +65250,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea0000a0 }, .id = HEX_INS_M2_MMACLS_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyweh(,):sat", .il_ops = { - { hex_il_op_m2_mmacls_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmacls_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65268,18 +65269,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea8000a0 }, .id = HEX_INS_M2_MMACLS_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyweh(,):<<1:sat", .il_ops = { - { hex_il_op_m2_mmacls_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmacls_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65287,18 +65288,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea6000e0 }, .id = HEX_INS_M2_MMACUHS_RS0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpywouh(,):rnd:sat", .il_ops = { - { hex_il_op_m2_mmacuhs_rs0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmacuhs_rs0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65306,18 +65307,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeae000e0 }, .id = HEX_INS_M2_MMACUHS_RS1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpywouh(,):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_mmacuhs_rs1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmacuhs_rs1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65325,18 +65326,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea4000e0 }, .id = HEX_INS_M2_MMACUHS_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpywouh(,):sat", .il_ops = { - { hex_il_op_m2_mmacuhs_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmacuhs_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65344,18 +65345,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeac000e0 }, .id = HEX_INS_M2_MMACUHS_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpywouh(,):<<1:sat", .il_ops = { - { hex_il_op_m2_mmacuhs_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmacuhs_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65363,18 +65364,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea6000a0 }, .id = HEX_INS_M2_MMACULS_RS0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyweuh(,):rnd:sat", .il_ops = { - { hex_il_op_m2_mmaculs_rs0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmaculs_rs0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65382,18 +65383,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeae000a0 }, .id = HEX_INS_M2_MMACULS_RS1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyweuh(,):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_mmaculs_rs1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmaculs_rs1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65401,18 +65402,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea4000a0 }, .id = HEX_INS_M2_MMACULS_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyweuh(,):sat", .il_ops = { - { hex_il_op_m2_mmaculs_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmaculs_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65420,18 +65421,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeac000a0 }, .id = HEX_INS_M2_MMACULS_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyweuh(,):<<1:sat", .il_ops = { - { hex_il_op_m2_mmaculs_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmaculs_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65439,18 +65440,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe82000e0 }, .id = HEX_INS_M2_MMPYH_RS0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpywoh(,):rnd:sat", .il_ops = { - { hex_il_op_m2_mmpyh_rs0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmpyh_rs0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65458,18 +65459,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8a000e0 }, .id = HEX_INS_M2_MMPYH_RS1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpywoh(,):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_mmpyh_rs1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmpyh_rs1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65477,18 +65478,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe80000e0 }, .id = HEX_INS_M2_MMPYH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpywoh(,):sat", .il_ops = { - { hex_il_op_m2_mmpyh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmpyh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65496,18 +65497,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe88000e0 }, .id = HEX_INS_M2_MMPYH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpywoh(,):<<1:sat", .il_ops = { - { hex_il_op_m2_mmpyh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmpyh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65515,18 +65516,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe82000a0 }, .id = HEX_INS_M2_MMPYL_RS0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpyweh(,):rnd:sat", .il_ops = { - { hex_il_op_m2_mmpyl_rs0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmpyl_rs0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65534,18 +65535,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8a000a0 }, .id = HEX_INS_M2_MMPYL_RS1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpyweh(,):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_mmpyl_rs1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmpyl_rs1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65553,18 +65554,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe80000a0 }, .id = HEX_INS_M2_MMPYL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpyweh(,):sat", .il_ops = { - { hex_il_op_m2_mmpyl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmpyl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65572,18 +65573,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe88000a0 }, .id = HEX_INS_M2_MMPYL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpyweh(,):<<1:sat", .il_ops = { - { hex_il_op_m2_mmpyl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmpyl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65591,18 +65592,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe86000e0 }, .id = HEX_INS_M2_MMPYUH_RS0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpywouh(,):rnd:sat", .il_ops = { - { hex_il_op_m2_mmpyuh_rs0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmpyuh_rs0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65610,18 +65611,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8e000e0 }, .id = HEX_INS_M2_MMPYUH_RS1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpywouh(,):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_mmpyuh_rs1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmpyuh_rs1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65629,18 +65630,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe84000e0 }, .id = HEX_INS_M2_MMPYUH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpywouh(,):sat", .il_ops = { - { hex_il_op_m2_mmpyuh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmpyuh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65648,18 +65649,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8c000e0 }, .id = HEX_INS_M2_MMPYUH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpywouh(,):<<1:sat", .il_ops = { - { hex_il_op_m2_mmpyuh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmpyuh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65667,18 +65668,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe86000a0 }, .id = HEX_INS_M2_MMPYUL_RS0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpyweuh(,):rnd:sat", .il_ops = { - { hex_il_op_m2_mmpyul_rs0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmpyul_rs0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65686,18 +65687,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8e000a0 }, .id = HEX_INS_M2_MMPYUL_RS1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpyweuh(,):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_mmpyul_rs1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmpyul_rs1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65705,18 +65706,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe84000a0 }, .id = HEX_INS_M2_MMPYUL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpyweuh(,):sat", .il_ops = { - { hex_il_op_m2_mmpyul_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmpyul_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65724,18 +65725,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8c000a0 }, .id = HEX_INS_M2_MMPYUL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpyweuh(,):<<1:sat", .il_ops = { - { hex_il_op_m2_mmpyul_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mmpyul_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65743,18 +65744,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef800000 }, .id = HEX_INS_M2_MNACI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyi(,)", .il_ops = { - { hex_il_op_m2_mnaci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mnaci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65762,18 +65763,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee000060 }, .id = HEX_INS_M2_MPY_ACC_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.h,.h)", .il_ops = { - { hex_il_op_m2_mpy_acc_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_acc_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65781,18 +65782,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee800060 }, .id = HEX_INS_M2_MPY_ACC_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.h,.h):<<1", .il_ops = { - { hex_il_op_m2_mpy_acc_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_acc_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65800,18 +65801,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee000040 }, .id = HEX_INS_M2_MPY_ACC_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.h,.l)", .il_ops = { - { hex_il_op_m2_mpy_acc_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_acc_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65819,18 +65820,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee800040 }, .id = HEX_INS_M2_MPY_ACC_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.h,.l):<<1", .il_ops = { - { hex_il_op_m2_mpy_acc_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_acc_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65838,18 +65839,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee000020 }, .id = HEX_INS_M2_MPY_ACC_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.l,.h)", .il_ops = { - { hex_il_op_m2_mpy_acc_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_acc_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65857,18 +65858,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee800020 }, .id = HEX_INS_M2_MPY_ACC_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.l,.h):<<1", .il_ops = { - { hex_il_op_m2_mpy_acc_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_acc_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65876,18 +65877,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee000000 }, .id = HEX_INS_M2_MPY_ACC_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.l,.l)", .il_ops = { - { hex_il_op_m2_mpy_acc_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_acc_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65895,18 +65896,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee800000 }, .id = HEX_INS_M2_MPY_ACC_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.l,.l):<<1", .il_ops = { - { hex_il_op_m2_mpy_acc_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_acc_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65914,18 +65915,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee0000e0 }, .id = HEX_INS_M2_MPY_ACC_SAT_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.h,.h):sat", .il_ops = { - { hex_il_op_m2_mpy_acc_sat_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_acc_sat_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65933,18 +65934,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee8000e0 }, .id = HEX_INS_M2_MPY_ACC_SAT_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.h,.h):<<1:sat", .il_ops = { - { hex_il_op_m2_mpy_acc_sat_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_acc_sat_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65952,18 +65953,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee0000c0 }, .id = HEX_INS_M2_MPY_ACC_SAT_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.h,.l):sat", .il_ops = { - { hex_il_op_m2_mpy_acc_sat_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_acc_sat_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65971,18 +65972,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee8000c0 }, .id = HEX_INS_M2_MPY_ACC_SAT_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.h,.l):<<1:sat", .il_ops = { - { hex_il_op_m2_mpy_acc_sat_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_acc_sat_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -65990,18 +65991,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee0000a0 }, .id = HEX_INS_M2_MPY_ACC_SAT_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.l,.h):sat", .il_ops = { - { hex_il_op_m2_mpy_acc_sat_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_acc_sat_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66009,18 +66010,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee8000a0 }, .id = HEX_INS_M2_MPY_ACC_SAT_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.l,.h):<<1:sat", .il_ops = { - { hex_il_op_m2_mpy_acc_sat_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_acc_sat_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66028,18 +66029,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee000080 }, .id = HEX_INS_M2_MPY_ACC_SAT_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.l,.l):sat", .il_ops = { - { hex_il_op_m2_mpy_acc_sat_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_acc_sat_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66047,18 +66048,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee800080 }, .id = HEX_INS_M2_MPY_ACC_SAT_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.l,.l):<<1:sat", .il_ops = { - { hex_il_op_m2_mpy_acc_sat_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_acc_sat_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66066,18 +66067,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec000060 }, .id = HEX_INS_M2_MPY_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.h)", .il_ops = { - { hex_il_op_m2_mpy_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66085,18 +66086,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec800060 }, .id = HEX_INS_M2_MPY_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.h):<<1", .il_ops = { - { hex_il_op_m2_mpy_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66104,18 +66105,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec000040 }, .id = HEX_INS_M2_MPY_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.l)", .il_ops = { - { hex_il_op_m2_mpy_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66123,18 +66124,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec800040 }, .id = HEX_INS_M2_MPY_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.l):<<1", .il_ops = { - { hex_il_op_m2_mpy_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66142,18 +66143,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec000020 }, .id = HEX_INS_M2_MPY_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.h)", .il_ops = { - { hex_il_op_m2_mpy_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66161,18 +66162,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec800020 }, .id = HEX_INS_M2_MPY_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.h):<<1", .il_ops = { - { hex_il_op_m2_mpy_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66180,18 +66181,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec000000 }, .id = HEX_INS_M2_MPY_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.l)", .il_ops = { - { hex_il_op_m2_mpy_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66199,18 +66200,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec800000 }, .id = HEX_INS_M2_MPY_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.l):<<1", .il_ops = { - { hex_il_op_m2_mpy_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66218,18 +66219,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee200060 }, .id = HEX_INS_M2_MPY_NAC_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.h,.h)", .il_ops = { - { hex_il_op_m2_mpy_nac_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_nac_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66237,18 +66238,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeea00060 }, .id = HEX_INS_M2_MPY_NAC_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.h,.h):<<1", .il_ops = { - { hex_il_op_m2_mpy_nac_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_nac_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66256,18 +66257,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee200040 }, .id = HEX_INS_M2_MPY_NAC_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.h,.l)", .il_ops = { - { hex_il_op_m2_mpy_nac_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_nac_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66275,18 +66276,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeea00040 }, .id = HEX_INS_M2_MPY_NAC_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.h,.l):<<1", .il_ops = { - { hex_il_op_m2_mpy_nac_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_nac_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66294,18 +66295,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee200020 }, .id = HEX_INS_M2_MPY_NAC_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.l,.h)", .il_ops = { - { hex_il_op_m2_mpy_nac_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_nac_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66313,18 +66314,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeea00020 }, .id = HEX_INS_M2_MPY_NAC_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.l,.h):<<1", .il_ops = { - { hex_il_op_m2_mpy_nac_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_nac_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66332,18 +66333,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee200000 }, .id = HEX_INS_M2_MPY_NAC_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.l,.l)", .il_ops = { - { hex_il_op_m2_mpy_nac_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_nac_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66351,18 +66352,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeea00000 }, .id = HEX_INS_M2_MPY_NAC_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.l,.l):<<1", .il_ops = { - { hex_il_op_m2_mpy_nac_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_nac_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66370,18 +66371,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee2000e0 }, .id = HEX_INS_M2_MPY_NAC_SAT_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.h,.h):sat", .il_ops = { - { hex_il_op_m2_mpy_nac_sat_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_nac_sat_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66389,18 +66390,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeea000e0 }, .id = HEX_INS_M2_MPY_NAC_SAT_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.h,.h):<<1:sat", .il_ops = { - { hex_il_op_m2_mpy_nac_sat_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_nac_sat_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66408,18 +66409,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee2000c0 }, .id = HEX_INS_M2_MPY_NAC_SAT_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.h,.l):sat", .il_ops = { - { hex_il_op_m2_mpy_nac_sat_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_nac_sat_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66427,18 +66428,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeea000c0 }, .id = HEX_INS_M2_MPY_NAC_SAT_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.h,.l):<<1:sat", .il_ops = { - { hex_il_op_m2_mpy_nac_sat_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_nac_sat_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66446,18 +66447,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee2000a0 }, .id = HEX_INS_M2_MPY_NAC_SAT_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.l,.h):sat", .il_ops = { - { hex_il_op_m2_mpy_nac_sat_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_nac_sat_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66465,18 +66466,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeea000a0 }, .id = HEX_INS_M2_MPY_NAC_SAT_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.l,.h):<<1:sat", .il_ops = { - { hex_il_op_m2_mpy_nac_sat_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_nac_sat_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66484,18 +66485,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee200080 }, .id = HEX_INS_M2_MPY_NAC_SAT_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.l,.l):sat", .il_ops = { - { hex_il_op_m2_mpy_nac_sat_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_nac_sat_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66503,18 +66504,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeea00080 }, .id = HEX_INS_M2_MPY_NAC_SAT_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.l,.l):<<1:sat", .il_ops = { - { hex_il_op_m2_mpy_nac_sat_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_nac_sat_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66522,18 +66523,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec200060 }, .id = HEX_INS_M2_MPY_RND_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.h):rnd", .il_ops = { - { hex_il_op_m2_mpy_rnd_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_rnd_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66541,18 +66542,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeca00060 }, .id = HEX_INS_M2_MPY_RND_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.h):<<1:rnd", .il_ops = { - { hex_il_op_m2_mpy_rnd_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_rnd_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66560,18 +66561,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec200040 }, .id = HEX_INS_M2_MPY_RND_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.l):rnd", .il_ops = { - { hex_il_op_m2_mpy_rnd_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_rnd_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66579,18 +66580,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeca00040 }, .id = HEX_INS_M2_MPY_RND_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.l):<<1:rnd", .il_ops = { - { hex_il_op_m2_mpy_rnd_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_rnd_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66598,18 +66599,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec200020 }, .id = HEX_INS_M2_MPY_RND_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.h):rnd", .il_ops = { - { hex_il_op_m2_mpy_rnd_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_rnd_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66617,18 +66618,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeca00020 }, .id = HEX_INS_M2_MPY_RND_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.h):<<1:rnd", .il_ops = { - { hex_il_op_m2_mpy_rnd_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_rnd_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66636,18 +66637,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec200000 }, .id = HEX_INS_M2_MPY_RND_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.l):rnd", .il_ops = { - { hex_il_op_m2_mpy_rnd_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_rnd_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66655,18 +66656,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeca00000 }, .id = HEX_INS_M2_MPY_RND_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.l):<<1:rnd", .il_ops = { - { hex_il_op_m2_mpy_rnd_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_rnd_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66674,18 +66675,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec0000e0 }, .id = HEX_INS_M2_MPY_SAT_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.h):sat", .il_ops = { - { hex_il_op_m2_mpy_sat_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_sat_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66693,18 +66694,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec8000e0 }, .id = HEX_INS_M2_MPY_SAT_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.h):<<1:sat", .il_ops = { - { hex_il_op_m2_mpy_sat_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_sat_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66712,18 +66713,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec0000c0 }, .id = HEX_INS_M2_MPY_SAT_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.l):sat", .il_ops = { - { hex_il_op_m2_mpy_sat_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_sat_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66731,18 +66732,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec8000c0 }, .id = HEX_INS_M2_MPY_SAT_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.l):<<1:sat", .il_ops = { - { hex_il_op_m2_mpy_sat_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_sat_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66750,18 +66751,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec0000a0 }, .id = HEX_INS_M2_MPY_SAT_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.h):sat", .il_ops = { - { hex_il_op_m2_mpy_sat_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_sat_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66769,18 +66770,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec8000a0 }, .id = HEX_INS_M2_MPY_SAT_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.h):<<1:sat", .il_ops = { - { hex_il_op_m2_mpy_sat_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_sat_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66788,18 +66789,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec000080 }, .id = HEX_INS_M2_MPY_SAT_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.l):sat", .il_ops = { - { hex_il_op_m2_mpy_sat_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_sat_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66807,18 +66808,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec800080 }, .id = HEX_INS_M2_MPY_SAT_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.l):<<1:sat", .il_ops = { - { hex_il_op_m2_mpy_sat_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_sat_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66826,18 +66827,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec2000e0 }, .id = HEX_INS_M2_MPY_SAT_RND_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.h):rnd:sat", .il_ops = { - { hex_il_op_m2_mpy_sat_rnd_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_sat_rnd_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66845,18 +66846,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeca000e0 }, .id = HEX_INS_M2_MPY_SAT_RND_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.h):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_mpy_sat_rnd_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_sat_rnd_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66864,18 +66865,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec2000c0 }, .id = HEX_INS_M2_MPY_SAT_RND_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.l):rnd:sat", .il_ops = { - { hex_il_op_m2_mpy_sat_rnd_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_sat_rnd_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66883,18 +66884,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeca000c0 }, .id = HEX_INS_M2_MPY_SAT_RND_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.l):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_mpy_sat_rnd_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_sat_rnd_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66902,18 +66903,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec2000a0 }, .id = HEX_INS_M2_MPY_SAT_RND_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.h):rnd:sat", .il_ops = { - { hex_il_op_m2_mpy_sat_rnd_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_sat_rnd_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66921,18 +66922,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeca000a0 }, .id = HEX_INS_M2_MPY_SAT_RND_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.h):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_mpy_sat_rnd_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_sat_rnd_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66940,18 +66941,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec200080 }, .id = HEX_INS_M2_MPY_SAT_RND_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.l):rnd:sat", .il_ops = { - { hex_il_op_m2_mpy_sat_rnd_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_sat_rnd_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66959,18 +66960,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeca00080 }, .id = HEX_INS_M2_MPY_SAT_RND_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.l):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_mpy_sat_rnd_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_sat_rnd_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66978,18 +66979,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xed000020 }, .id = HEX_INS_M2_MPY_UP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(,)", .il_ops = { - { hex_il_op_m2_mpy_up, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_up, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -66997,18 +66998,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeda00040 }, .id = HEX_INS_M2_MPY_UP_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(,):<<1", .il_ops = { - { hex_il_op_m2_mpy_up_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_up_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67016,18 +67017,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xede00000 }, .id = HEX_INS_M2_MPY_UP_S1_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(,):<<1:sat", .il_ops = { - { hex_il_op_m2_mpy_up_s1_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpy_up_s1_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67035,18 +67036,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6000060 }, .id = HEX_INS_M2_MPYD_ACC_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.h,.h)", .il_ops = { - { hex_il_op_m2_mpyd_acc_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_acc_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67054,18 +67055,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6800060 }, .id = HEX_INS_M2_MPYD_ACC_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.h,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyd_acc_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_acc_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67073,18 +67074,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6000040 }, .id = HEX_INS_M2_MPYD_ACC_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.h,.l)", .il_ops = { - { hex_il_op_m2_mpyd_acc_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_acc_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67092,18 +67093,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6800040 }, .id = HEX_INS_M2_MPYD_ACC_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.h,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyd_acc_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_acc_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67111,18 +67112,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6000020 }, .id = HEX_INS_M2_MPYD_ACC_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.l,.h)", .il_ops = { - { hex_il_op_m2_mpyd_acc_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_acc_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67130,18 +67131,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6800020 }, .id = HEX_INS_M2_MPYD_ACC_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.l,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyd_acc_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_acc_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67149,18 +67150,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6000000 }, .id = HEX_INS_M2_MPYD_ACC_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.l,.l)", .il_ops = { - { hex_il_op_m2_mpyd_acc_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_acc_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67168,18 +67169,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6800000 }, .id = HEX_INS_M2_MPYD_ACC_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(.l,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyd_acc_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_acc_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67187,18 +67188,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4000060 }, .id = HEX_INS_M2_MPYD_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.h)", .il_ops = { - { hex_il_op_m2_mpyd_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67206,18 +67207,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4800060 }, .id = HEX_INS_M2_MPYD_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyd_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67225,18 +67226,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4000040 }, .id = HEX_INS_M2_MPYD_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.l)", .il_ops = { - { hex_il_op_m2_mpyd_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67244,18 +67245,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4800040 }, .id = HEX_INS_M2_MPYD_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyd_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67263,18 +67264,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4000020 }, .id = HEX_INS_M2_MPYD_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.h)", .il_ops = { - { hex_il_op_m2_mpyd_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67282,18 +67283,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4800020 }, .id = HEX_INS_M2_MPYD_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyd_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67301,18 +67302,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4000000 }, .id = HEX_INS_M2_MPYD_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.l)", .il_ops = { - { hex_il_op_m2_mpyd_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67320,18 +67321,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4800000 }, .id = HEX_INS_M2_MPYD_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyd_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67339,18 +67340,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6200060 }, .id = HEX_INS_M2_MPYD_NAC_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.h,.h)", .il_ops = { - { hex_il_op_m2_mpyd_nac_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_nac_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67358,18 +67359,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6a00060 }, .id = HEX_INS_M2_MPYD_NAC_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.h,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyd_nac_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_nac_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67377,18 +67378,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6200040 }, .id = HEX_INS_M2_MPYD_NAC_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.h,.l)", .il_ops = { - { hex_il_op_m2_mpyd_nac_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_nac_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67396,18 +67397,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6a00040 }, .id = HEX_INS_M2_MPYD_NAC_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.h,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyd_nac_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_nac_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67415,18 +67416,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6200020 }, .id = HEX_INS_M2_MPYD_NAC_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.l,.h)", .il_ops = { - { hex_il_op_m2_mpyd_nac_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_nac_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67434,18 +67435,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6a00020 }, .id = HEX_INS_M2_MPYD_NAC_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.l,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyd_nac_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_nac_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67453,18 +67454,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6200000 }, .id = HEX_INS_M2_MPYD_NAC_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.l,.l)", .il_ops = { - { hex_il_op_m2_mpyd_nac_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_nac_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67472,18 +67473,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6a00000 }, .id = HEX_INS_M2_MPYD_NAC_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(.l,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyd_nac_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_nac_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67491,18 +67492,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4200060 }, .id = HEX_INS_M2_MPYD_RND_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.h):rnd", .il_ops = { - { hex_il_op_m2_mpyd_rnd_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_rnd_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67510,18 +67511,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4a00060 }, .id = HEX_INS_M2_MPYD_RND_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.h):<<1:rnd", .il_ops = { - { hex_il_op_m2_mpyd_rnd_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_rnd_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67529,18 +67530,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4200040 }, .id = HEX_INS_M2_MPYD_RND_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.l):rnd", .il_ops = { - { hex_il_op_m2_mpyd_rnd_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_rnd_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67548,18 +67549,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4a00040 }, .id = HEX_INS_M2_MPYD_RND_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.h,.l):<<1:rnd", .il_ops = { - { hex_il_op_m2_mpyd_rnd_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_rnd_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67567,18 +67568,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4200020 }, .id = HEX_INS_M2_MPYD_RND_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.h):rnd", .il_ops = { - { hex_il_op_m2_mpyd_rnd_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_rnd_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67586,18 +67587,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4a00020 }, .id = HEX_INS_M2_MPYD_RND_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.h):<<1:rnd", .il_ops = { - { hex_il_op_m2_mpyd_rnd_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_rnd_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67605,18 +67606,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4200000 }, .id = HEX_INS_M2_MPYD_RND_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.l):rnd", .il_ops = { - { hex_il_op_m2_mpyd_rnd_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_rnd_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67624,18 +67625,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4a00000 }, .id = HEX_INS_M2_MPYD_RND_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpy(.l,.l):<<1:rnd", .il_ops = { - { hex_il_op_m2_mpyd_rnd_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyd_rnd_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67643,18 +67644,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xed000000 }, .id = HEX_INS_M2_MPYI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyi(,)", .il_ops = { - { hex_il_op_m2_mpyi, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyi, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67662,18 +67663,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe02000, .op = 0xe0800000 }, .id = HEX_INS_M2_MPYSIN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE, .masks = { { 0x8, 5 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = -mpyi(,)", .il_ops = { - { hex_il_op_m2_mpysin, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpysin, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67681,18 +67682,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe02000, .op = 0xe0000000 }, .id = HEX_INS_M2_MPYSIP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 'u', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = +mpyi(,)", .il_ops = { - { hex_il_op_m2_mpysip, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpysip, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67700,18 +67701,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xed600020 }, .id = HEX_INS_M2_MPYSU_UP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpysu(,)", .il_ops = { - { hex_il_op_m2_mpysu_up, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpysu_up, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67719,18 +67720,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee400060 }, .id = HEX_INS_M2_MPYU_ACC_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(.h,.h)", .il_ops = { - { hex_il_op_m2_mpyu_acc_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_acc_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67738,18 +67739,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeec00060 }, .id = HEX_INS_M2_MPYU_ACC_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(.h,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyu_acc_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_acc_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67757,18 +67758,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee400040 }, .id = HEX_INS_M2_MPYU_ACC_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(.h,.l)", .il_ops = { - { hex_il_op_m2_mpyu_acc_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_acc_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67776,18 +67777,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeec00040 }, .id = HEX_INS_M2_MPYU_ACC_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(.h,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyu_acc_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_acc_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67795,18 +67796,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee400020 }, .id = HEX_INS_M2_MPYU_ACC_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(.l,.h)", .il_ops = { - { hex_il_op_m2_mpyu_acc_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_acc_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67814,18 +67815,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeec00020 }, .id = HEX_INS_M2_MPYU_ACC_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(.l,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyu_acc_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_acc_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67833,18 +67834,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee400000 }, .id = HEX_INS_M2_MPYU_ACC_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(.l,.l)", .il_ops = { - { hex_il_op_m2_mpyu_acc_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_acc_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67852,18 +67853,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeec00000 }, .id = HEX_INS_M2_MPYU_ACC_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(.l,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyu_acc_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_acc_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67871,18 +67872,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec400060 }, .id = HEX_INS_M2_MPYU_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(.h,.h)", .il_ops = { - { hex_il_op_m2_mpyu_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67890,18 +67891,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xecc00060 }, .id = HEX_INS_M2_MPYU_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(.h,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyu_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67909,18 +67910,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec400040 }, .id = HEX_INS_M2_MPYU_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(.h,.l)", .il_ops = { - { hex_il_op_m2_mpyu_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67928,18 +67929,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xecc00040 }, .id = HEX_INS_M2_MPYU_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(.h,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyu_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67947,18 +67948,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec400020 }, .id = HEX_INS_M2_MPYU_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(.l,.h)", .il_ops = { - { hex_il_op_m2_mpyu_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67966,18 +67967,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xecc00020 }, .id = HEX_INS_M2_MPYU_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(.l,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyu_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -67985,18 +67986,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xec400000 }, .id = HEX_INS_M2_MPYU_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(.l,.l)", .il_ops = { - { hex_il_op_m2_mpyu_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68004,18 +68005,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xecc00000 }, .id = HEX_INS_M2_MPYU_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(.l,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyu_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68023,18 +68024,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee600060 }, .id = HEX_INS_M2_MPYU_NAC_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(.h,.h)", .il_ops = { - { hex_il_op_m2_mpyu_nac_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_nac_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68042,18 +68043,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeee00060 }, .id = HEX_INS_M2_MPYU_NAC_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(.h,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyu_nac_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_nac_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68061,18 +68062,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee600040 }, .id = HEX_INS_M2_MPYU_NAC_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(.h,.l)", .il_ops = { - { hex_il_op_m2_mpyu_nac_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_nac_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68080,18 +68081,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeee00040 }, .id = HEX_INS_M2_MPYU_NAC_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(.h,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyu_nac_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_nac_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68099,18 +68100,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee600020 }, .id = HEX_INS_M2_MPYU_NAC_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(.l,.h)", .il_ops = { - { hex_il_op_m2_mpyu_nac_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_nac_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68118,18 +68119,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeee00020 }, .id = HEX_INS_M2_MPYU_NAC_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(.l,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyu_nac_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_nac_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68137,18 +68138,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xee600000 }, .id = HEX_INS_M2_MPYU_NAC_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(.l,.l)", .il_ops = { - { hex_il_op_m2_mpyu_nac_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_nac_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68156,18 +68157,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeee00000 }, .id = HEX_INS_M2_MPYU_NAC_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(.l,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyu_nac_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_nac_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68175,18 +68176,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xed400020 }, .id = HEX_INS_M2_MPYU_UP, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(,)", .il_ops = { - { hex_il_op_m2_mpyu_up, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyu_up, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68194,18 +68195,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6400060 }, .id = HEX_INS_M2_MPYUD_ACC_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(.h,.h)", .il_ops = { - { hex_il_op_m2_mpyud_acc_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_acc_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68213,18 +68214,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6c00060 }, .id = HEX_INS_M2_MPYUD_ACC_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(.h,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyud_acc_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_acc_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68232,18 +68233,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6400040 }, .id = HEX_INS_M2_MPYUD_ACC_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(.h,.l)", .il_ops = { - { hex_il_op_m2_mpyud_acc_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_acc_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68251,18 +68252,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6c00040 }, .id = HEX_INS_M2_MPYUD_ACC_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(.h,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyud_acc_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_acc_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68270,18 +68271,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6400020 }, .id = HEX_INS_M2_MPYUD_ACC_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(.l,.h)", .il_ops = { - { hex_il_op_m2_mpyud_acc_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_acc_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68289,18 +68290,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6c00020 }, .id = HEX_INS_M2_MPYUD_ACC_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(.l,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyud_acc_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_acc_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68308,18 +68309,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6400000 }, .id = HEX_INS_M2_MPYUD_ACC_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(.l,.l)", .il_ops = { - { hex_il_op_m2_mpyud_acc_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_acc_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68327,18 +68328,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6c00000 }, .id = HEX_INS_M2_MPYUD_ACC_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpyu(.l,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyud_acc_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_acc_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68346,18 +68347,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4400060 }, .id = HEX_INS_M2_MPYUD_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(.h,.h)", .il_ops = { - { hex_il_op_m2_mpyud_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68365,18 +68366,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4c00060 }, .id = HEX_INS_M2_MPYUD_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(.h,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyud_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68384,18 +68385,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4400040 }, .id = HEX_INS_M2_MPYUD_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(.h,.l)", .il_ops = { - { hex_il_op_m2_mpyud_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68403,18 +68404,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4c00040 }, .id = HEX_INS_M2_MPYUD_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(.h,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyud_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68422,18 +68423,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4400020 }, .id = HEX_INS_M2_MPYUD_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(.l,.h)", .il_ops = { - { hex_il_op_m2_mpyud_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68441,18 +68442,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4c00020 }, .id = HEX_INS_M2_MPYUD_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(.l,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyud_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68460,18 +68461,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4400000 }, .id = HEX_INS_M2_MPYUD_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(.l,.l)", .il_ops = { - { hex_il_op_m2_mpyud_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68479,18 +68480,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe4c00000 }, .id = HEX_INS_M2_MPYUD_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mpyu(.l,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyud_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68498,18 +68499,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6600060 }, .id = HEX_INS_M2_MPYUD_NAC_HH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(.h,.h)", .il_ops = { - { hex_il_op_m2_mpyud_nac_hh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_nac_hh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68517,18 +68518,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6e00060 }, .id = HEX_INS_M2_MPYUD_NAC_HH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(.h,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyud_nac_hh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_nac_hh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68536,18 +68537,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6600040 }, .id = HEX_INS_M2_MPYUD_NAC_HL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(.h,.l)", .il_ops = { - { hex_il_op_m2_mpyud_nac_hl_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_nac_hl_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68555,18 +68556,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6e00040 }, .id = HEX_INS_M2_MPYUD_NAC_HL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(.h,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyud_nac_hl_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_nac_hl_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68574,18 +68575,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6600020 }, .id = HEX_INS_M2_MPYUD_NAC_LH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(.l,.h)", .il_ops = { - { hex_il_op_m2_mpyud_nac_lh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_nac_lh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68593,18 +68594,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6e00020 }, .id = HEX_INS_M2_MPYUD_NAC_LH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(.l,.h):<<1", .il_ops = { - { hex_il_op_m2_mpyud_nac_lh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_nac_lh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68612,18 +68613,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6600000 }, .id = HEX_INS_M2_MPYUD_NAC_LL_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(.l,.l)", .il_ops = { - { hex_il_op_m2_mpyud_nac_ll_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_nac_ll_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68631,18 +68632,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe6e00000 }, .id = HEX_INS_M2_MPYUD_NAC_LL_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpyu(.l,.l):<<1", .il_ops = { - { hex_il_op_m2_mpyud_nac_ll_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_mpyud_nac_ll_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68650,18 +68651,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef800020 }, .id = HEX_INS_M2_NACCI, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= add(,)", .il_ops = { - { hex_il_op_m2_nacci, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_nacci, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68669,18 +68670,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe02000, .op = 0xe2800000 }, .id = HEX_INS_M2_NACCII, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_IMM | HEX_OP_TEMPLATE_FLAG_IMM_SIGNED | HEX_OP_TEMPLATE_FLAG_IMM_EXTENDABLE | HEX_OP_TEMPLATE_FLAG_IMM_DOUBLE_HASH, .masks = { { 0x8, 5 } }, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= add(,)", .il_ops = { - { hex_il_op_m2_naccii, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_naccii, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68688,18 +68689,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef000060 }, .id = HEX_INS_M2_SUBACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += sub(,)", .il_ops = { - { hex_il_op_m2_subacc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_subacc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68707,18 +68708,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8600000 }, .id = HEX_INS_M2_VABSDIFFH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vabsdiffh(,)", .il_ops = { - { hex_il_op_m2_vabsdiffh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vabsdiffh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68726,18 +68727,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8200000 }, .id = HEX_INS_M2_VABSDIFFW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vabsdiffw(,)", .il_ops = { - { hex_il_op_m2_vabsdiffw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vabsdiffw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68745,18 +68746,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea400080 }, .id = HEX_INS_M2_VCMAC_S0_SAT_I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vcmpyi(,):sat", .il_ops = { - { hex_il_op_m2_vcmac_s0_sat_i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vcmac_s0_sat_i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68764,18 +68765,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea200080 }, .id = HEX_INS_M2_VCMAC_S0_SAT_R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vcmpyr(,):sat", .il_ops = { - { hex_il_op_m2_vcmac_s0_sat_r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vcmac_s0_sat_r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68783,18 +68784,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe84000c0 }, .id = HEX_INS_M2_VCMPY_S0_SAT_I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmpyi(,):sat", .il_ops = { - { hex_il_op_m2_vcmpy_s0_sat_i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vcmpy_s0_sat_i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68802,18 +68803,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe82000c0 }, .id = HEX_INS_M2_VCMPY_S0_SAT_R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmpyr(,):sat", .il_ops = { - { hex_il_op_m2_vcmpy_s0_sat_r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vcmpy_s0_sat_r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68821,18 +68822,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8c000c0 }, .id = HEX_INS_M2_VCMPY_S1_SAT_I, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmpyi(,):<<1:sat", .il_ops = { - { hex_il_op_m2_vcmpy_s1_sat_i, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vcmpy_s1_sat_i, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68840,18 +68841,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8a000c0 }, .id = HEX_INS_M2_VCMPY_S1_SAT_R, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vcmpyr(,):<<1:sat", .il_ops = { - { hex_il_op_m2_vcmpy_s1_sat_r, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vcmpy_s1_sat_r, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68859,18 +68860,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea000080 }, .id = HEX_INS_M2_VDMACS_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vdmpy(,):sat", .il_ops = { - { hex_il_op_m2_vdmacs_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vdmacs_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68878,18 +68879,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea800080 }, .id = HEX_INS_M2_VDMACS_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vdmpy(,):<<1:sat", .il_ops = { - { hex_il_op_m2_vdmacs_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vdmacs_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68897,18 +68898,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe9000000 }, .id = HEX_INS_M2_VDMPYRS_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vdmpy(,):rnd:sat", .il_ops = { - { hex_il_op_m2_vdmpyrs_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vdmpyrs_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68916,18 +68917,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe9800000 }, .id = HEX_INS_M2_VDMPYRS_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vdmpy(,):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_vdmpyrs_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vdmpyrs_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68935,18 +68936,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8000080 }, .id = HEX_INS_M2_VDMPYS_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vdmpy(,):sat", .il_ops = { - { hex_il_op_m2_vdmpys_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vdmpys_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68954,18 +68955,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8800080 }, .id = HEX_INS_M2_VDMPYS_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vdmpy(,):<<1:sat", .il_ops = { - { hex_il_op_m2_vdmpys_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vdmpys_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68973,18 +68974,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe7200020 }, .id = HEX_INS_M2_VMAC2, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyh(,)", .il_ops = { - { hex_il_op_m2_vmac2, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vmac2, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -68992,18 +68993,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea200040 }, .id = HEX_INS_M2_VMAC2ES, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyeh(,)", .il_ops = { - { hex_il_op_m2_vmac2es, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vmac2es, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69011,18 +69012,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea0000c0 }, .id = HEX_INS_M2_VMAC2ES_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyeh(,):sat", .il_ops = { - { hex_il_op_m2_vmac2es_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vmac2es_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69030,18 +69031,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea8000c0 }, .id = HEX_INS_M2_VMAC2ES_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyeh(,):<<1:sat", .il_ops = { - { hex_il_op_m2_vmac2es_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vmac2es_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69049,18 +69050,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe70000a0 }, .id = HEX_INS_M2_VMAC2S_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyh(,):sat", .il_ops = { - { hex_il_op_m2_vmac2s_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vmac2s_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69068,18 +69069,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe78000a0 }, .id = HEX_INS_M2_VMAC2S_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyh(,):<<1:sat", .il_ops = { - { hex_il_op_m2_vmac2s_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vmac2s_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69087,18 +69088,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe76000a0 }, .id = HEX_INS_M2_VMAC2SU_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyhsu(,):sat", .il_ops = { - { hex_il_op_m2_vmac2su_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vmac2su_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69106,18 +69107,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe7e000a0 }, .id = HEX_INS_M2_VMAC2SU_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpyhsu(,):<<1:sat", .il_ops = { - { hex_il_op_m2_vmac2su_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vmac2su_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69125,18 +69126,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe80000c0 }, .id = HEX_INS_M2_VMPY2ES_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpyeh(,):sat", .il_ops = { - { hex_il_op_m2_vmpy2es_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vmpy2es_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69144,18 +69145,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe88000c0 }, .id = HEX_INS_M2_VMPY2ES_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpyeh(,):<<1:sat", .il_ops = { - { hex_il_op_m2_vmpy2es_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vmpy2es_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69163,18 +69164,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe50000a0 }, .id = HEX_INS_M2_VMPY2S_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpyh(,):sat", .il_ops = { - { hex_il_op_m2_vmpy2s_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vmpy2s_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69182,18 +69183,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xed2000e0 }, .id = HEX_INS_M2_VMPY2S_S0PACK, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpyh(,):rnd:sat", .il_ops = { - { hex_il_op_m2_vmpy2s_s0pack, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vmpy2s_s0pack, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69201,18 +69202,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe58000a0 }, .id = HEX_INS_M2_VMPY2S_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpyh(,):<<1:sat", .il_ops = { - { hex_il_op_m2_vmpy2s_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vmpy2s_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69220,18 +69221,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeda000e0 }, .id = HEX_INS_M2_VMPY2S_S1PACK, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpyh(,):<<1:rnd:sat", .il_ops = { - { hex_il_op_m2_vmpy2s_s1pack, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vmpy2s_s1pack, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69239,18 +69240,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe50000e0 }, .id = HEX_INS_M2_VMPY2SU_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpyhsu(,):sat", .il_ops = { - { hex_il_op_m2_vmpy2su_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vmpy2su_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69258,18 +69259,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe58000e0 }, .id = HEX_INS_M2_VMPY2SU_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpyhsu(,):<<1:sat", .il_ops = { - { hex_il_op_m2_vmpy2su_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vmpy2su_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69277,18 +69278,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe92000e0 }, .id = HEX_INS_M2_VRADDH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vraddh(,)", .il_ops = { - { hex_il_op_m2_vraddh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vraddh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69296,18 +69297,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe9000020 }, .id = HEX_INS_M2_VRADDUH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vradduh(,)", .il_ops = { - { hex_il_op_m2_vradduh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vradduh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69315,18 +69316,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea000000 }, .id = HEX_INS_M2_VRCMACI_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vrcmpyi(,)", .il_ops = { - { hex_il_op_m2_vrcmaci_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vrcmaci_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69334,18 +69335,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea400000 }, .id = HEX_INS_M2_VRCMACI_S0C, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vrcmpyi(,*)", .il_ops = { - { hex_il_op_m2_vrcmaci_s0c, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vrcmaci_s0c, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69353,18 +69354,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea000020 }, .id = HEX_INS_M2_VRCMACR_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vrcmpyr(,)", .il_ops = { - { hex_il_op_m2_vrcmacr_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vrcmacr_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69372,18 +69373,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea600020 }, .id = HEX_INS_M2_VRCMACR_S0C, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vrcmpyr(,*)", .il_ops = { - { hex_il_op_m2_vrcmacr_s0c, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vrcmacr_s0c, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69391,18 +69392,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8000000 }, .id = HEX_INS_M2_VRCMPYI_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrcmpyi(,)", .il_ops = { - { hex_il_op_m2_vrcmpyi_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vrcmpyi_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69410,18 +69411,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8400000 }, .id = HEX_INS_M2_VRCMPYI_S0C, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrcmpyi(,*)", .il_ops = { - { hex_il_op_m2_vrcmpyi_s0c, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vrcmpyi_s0c, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69429,18 +69430,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8000020 }, .id = HEX_INS_M2_VRCMPYR_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrcmpyr(,)", .il_ops = { - { hex_il_op_m2_vrcmpyr_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vrcmpyr_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69448,18 +69449,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8600020 }, .id = HEX_INS_M2_VRCMPYR_S0C, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrcmpyr(,*)", .il_ops = { - { hex_il_op_m2_vrcmpyr_s0c, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vrcmpyr_s0c, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69467,18 +69468,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeaa00080 }, .id = HEX_INS_M2_VRCMPYS_ACC_S1_H, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vrcmpys(,):<<1:sat:raw:hi", .il_ops = { - { hex_il_op_m2_vrcmpys_acc_s1_h, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vrcmpys_acc_s1_h, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69486,18 +69487,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeae00080 }, .id = HEX_INS_M2_VRCMPYS_ACC_S1_L, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vrcmpys(,):<<1:sat:raw:lo", .il_ops = { - { hex_il_op_m2_vrcmpys_acc_s1_l, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vrcmpys_acc_s1_l, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69505,18 +69506,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8a00080 }, .id = HEX_INS_M2_VRCMPYS_S1_H, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrcmpys(,):<<1:sat:raw:hi", .il_ops = { - { hex_il_op_m2_vrcmpys_s1_h, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vrcmpys_s1_h, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69524,18 +69525,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8e00080 }, .id = HEX_INS_M2_VRCMPYS_S1_L, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrcmpys(,):<<1:sat:raw:lo", .il_ops = { - { hex_il_op_m2_vrcmpys_s1_l, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vrcmpys_s1_l, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69543,18 +69544,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe9a000c0 }, .id = HEX_INS_M2_VRCMPYS_S1RP_H, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrcmpys(,):<<1:rnd:sat:raw:hi", .il_ops = { - { hex_il_op_m2_vrcmpys_s1rp_h, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vrcmpys_s1rp_h, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69562,18 +69563,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe9a000e0 }, .id = HEX_INS_M2_VRCMPYS_S1RP_L, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrcmpys(,):<<1:rnd:sat:raw:lo", .il_ops = { - { hex_il_op_m2_vrcmpys_s1rp_l, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vrcmpys_s1rp_l, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69581,18 +69582,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea000040 }, .id = HEX_INS_M2_VRMAC_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vrmpyh(,)", .il_ops = { - { hex_il_op_m2_vrmac_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vrmac_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69600,18 +69601,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8000040 }, .id = HEX_INS_M2_VRMPY_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrmpyh(,)", .il_ops = { - { hex_il_op_m2_vrmpy_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_vrmpy_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69619,18 +69620,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef800060 }, .id = HEX_INS_M2_XOR_XACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= xor(,)", .il_ops = { - { hex_il_op_m2_xor_xacc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m2_xor_xacc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69638,18 +69639,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef400000 }, .id = HEX_INS_M4_AND_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= and(,)", .il_ops = { - { hex_il_op_m4_and_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_and_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69657,18 +69658,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef200020 }, .id = HEX_INS_M4_AND_ANDN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= and(,~)", .il_ops = { - { hex_il_op_m4_and_andn, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_and_andn, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69676,18 +69677,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef400020 }, .id = HEX_INS_M4_AND_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= or(,)", .il_ops = { - { hex_il_op_m4_and_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_and_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69695,18 +69696,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef400040 }, .id = HEX_INS_M4_AND_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " &= xor(,)", .il_ops = { - { hex_il_op_m4_and_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_and_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69714,18 +69715,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef600000 }, .id = HEX_INS_M4_MAC_UP_S1_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += mpy(,):<<1:sat", .il_ops = { - { hex_il_op_m4_mac_up_s1_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_mac_up_s1_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69733,19 +69734,19 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe3000000 }, .id = HEX_INS_M4_MPYRR_ADDR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'y', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'y', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = add(,mpyi(,))", .il_ops = { - { hex_il_op_m4_mpyrr_addr, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_mpyrr_addr, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69753,18 +69754,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef600020 }, .id = HEX_INS_M4_NAC_UP_S1_SAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " -= mpy(,):<<1:sat", .il_ops = { - { hex_il_op_m4_nac_up_s1_sat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_nac_up_s1_sat, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69772,18 +69773,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef400060 }, .id = HEX_INS_M4_OR_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= and(,)", .il_ops = { - { hex_il_op_m4_or_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_or_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69791,18 +69792,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef200000 }, .id = HEX_INS_M4_OR_ANDN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= and(,~)", .il_ops = { - { hex_il_op_m4_or_andn, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_or_andn, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69810,18 +69811,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xefc00000 }, .id = HEX_INS_M4_OR_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= or(,)", .il_ops = { - { hex_il_op_m4_or_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_or_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69829,18 +69830,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xefc00020 }, .id = HEX_INS_M4_OR_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " |= xor(,)", .il_ops = { - { hex_il_op_m4_or_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_or_xor, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69848,18 +69849,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe54000e0 }, .id = HEX_INS_M4_PMPYW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = pmpyw(,)", .il_ops = { - { hex_il_op_m4_pmpyw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_pmpyw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69867,18 +69868,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe72000e0 }, .id = HEX_INS_M4_PMPYW_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= pmpyw(,)", .il_ops = { - { hex_il_op_m4_pmpyw_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_pmpyw_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69886,18 +69887,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe5c000e0 }, .id = HEX_INS_M4_VPMPYH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vpmpyh(,)", .il_ops = { - { hex_il_op_m4_vpmpyh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_vpmpyh, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69905,18 +69906,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe7a000e0 }, .id = HEX_INS_M4_VPMPYH_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= vpmpyh(,)", .il_ops = { - { hex_il_op_m4_vpmpyh_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_vpmpyh_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69924,18 +69925,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea2000c0 }, .id = HEX_INS_M4_VRMPYEH_ACC_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vrmpyweh(,)", .il_ops = { - { hex_il_op_m4_vrmpyeh_acc_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_vrmpyeh_acc_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69943,18 +69944,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeaa000c0 }, .id = HEX_INS_M4_VRMPYEH_ACC_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vrmpyweh(,):<<1", .il_ops = { - { hex_il_op_m4_vrmpyeh_acc_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_vrmpyeh_acc_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69962,18 +69963,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8400080 }, .id = HEX_INS_M4_VRMPYEH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrmpyweh(,)", .il_ops = { - { hex_il_op_m4_vrmpyeh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_vrmpyeh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -69981,18 +69982,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8c00080 }, .id = HEX_INS_M4_VRMPYEH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrmpyweh(,):<<1", .il_ops = { - { hex_il_op_m4_vrmpyeh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_vrmpyeh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70000,18 +70001,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea6000c0 }, .id = HEX_INS_M4_VRMPYOH_ACC_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vrmpywoh(,)", .il_ops = { - { hex_il_op_m4_vrmpyoh_acc_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_vrmpyoh_acc_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70019,18 +70020,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeae000c0 }, .id = HEX_INS_M4_VRMPYOH_ACC_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vrmpywoh(,):<<1", .il_ops = { - { hex_il_op_m4_vrmpyoh_acc_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_vrmpyoh_acc_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70038,18 +70039,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8200040 }, .id = HEX_INS_M4_VRMPYOH_S0, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrmpywoh(,)", .il_ops = { - { hex_il_op_m4_vrmpyoh_s0, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_vrmpyoh_s0, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70057,18 +70058,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8a00040 }, .id = HEX_INS_M4_VRMPYOH_S1, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrmpywoh(,):<<1", .il_ops = { - { hex_il_op_m4_vrmpyoh_s1, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_vrmpyoh_s1, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70076,18 +70077,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xefc00040 }, .id = HEX_INS_M4_XOR_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= and(,)", .il_ops = { - { hex_il_op_m4_xor_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_xor_and, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70095,18 +70096,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xef200040 }, .id = HEX_INS_M4_XOR_ANDN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= and(,~)", .il_ops = { - { hex_il_op_m4_xor_andn, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_xor_andn, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70114,18 +70115,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xefc00060 }, .id = HEX_INS_M4_XOR_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " ^= or(,)", .il_ops = { - { hex_il_op_m4_xor_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m4_xor_or, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70133,18 +70134,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea200020 }, .id = HEX_INS_M5_VDMACBSU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vdmpybsu(,):sat", .il_ops = { - { hex_il_op_m5_vdmacbsu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m5_vdmacbsu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70152,18 +70153,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8a00020 }, .id = HEX_INS_M5_VDMPYBSU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vdmpybsu(,):sat", .il_ops = { - { hex_il_op_m5_vdmpybsu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m5_vdmpybsu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70171,18 +70172,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe7c00020 }, .id = HEX_INS_M5_VMACBSU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpybsu(,)", .il_ops = { - { hex_il_op_m5_vmacbsu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m5_vmacbsu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70190,18 +70191,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe7800020 }, .id = HEX_INS_M5_VMACBUU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vmpybu(,)", .il_ops = { - { hex_il_op_m5_vmacbuu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m5_vmacbuu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70209,18 +70210,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe5400020 }, .id = HEX_INS_M5_VMPYBSU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpybsu(,)", .il_ops = { - { hex_il_op_m5_vmpybsu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m5_vmpybsu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70228,18 +70229,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe5800020 }, .id = HEX_INS_M5_VMPYBUU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vmpybu(,)", .il_ops = { - { hex_il_op_m5_vmpybuu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m5_vmpybuu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70247,18 +70248,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeac00020 }, .id = HEX_INS_M5_VRMACBSU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vrmpybsu(,)", .il_ops = { - { hex_il_op_m5_vrmacbsu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m5_vrmacbsu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70266,18 +70267,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea800020 }, .id = HEX_INS_M5_VRMACBUU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += vrmpybu(,)", .il_ops = { - { hex_il_op_m5_vrmacbuu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m5_vrmacbuu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70285,18 +70286,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8c00020 }, .id = HEX_INS_M5_VRMPYBSU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrmpybsu(,)", .il_ops = { - { hex_il_op_m5_vrmpybsu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m5_vrmpybsu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70304,18 +70305,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8800020 }, .id = HEX_INS_M5_VRMPYBUU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vrmpybu(,)", .il_ops = { - { hex_il_op_m5_vrmpybuu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m5_vrmpybuu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70323,18 +70324,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8e00000 }, .id = HEX_INS_M6_VABSDIFFB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vabsdiffb(,)", .il_ops = { - { hex_il_op_m6_vabsdiffb, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m6_vabsdiffb, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70342,18 +70343,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8a00000 }, .id = HEX_INS_M6_VABSDIFFUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = vabsdiffub(,)", .il_ops = { - { hex_il_op_m6_vabsdiffub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m6_vabsdiffub, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70361,18 +70362,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8600040 }, .id = HEX_INS_M7_DCMPYIW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyiw(,)", .il_ops = { - { hex_il_op_m7_dcmpyiw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m7_dcmpyiw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70380,18 +70381,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea600040 }, .id = HEX_INS_M7_DCMPYIW_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += cmpyiw(,)", .il_ops = { - { hex_il_op_m7_dcmpyiw_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m7_dcmpyiw_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70399,18 +70400,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8e00040 }, .id = HEX_INS_M7_DCMPYIWC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyiw(,*)", .il_ops = { - { hex_il_op_m7_dcmpyiwc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m7_dcmpyiwc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70418,18 +70419,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea4000c0 }, .id = HEX_INS_M7_DCMPYIWC_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += cmpyiw(,*)", .il_ops = { - { hex_il_op_m7_dcmpyiwc_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m7_dcmpyiwc_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70437,18 +70438,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8800040 }, .id = HEX_INS_M7_DCMPYRW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyrw(,)", .il_ops = { - { hex_il_op_m7_dcmpyrw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m7_dcmpyrw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70456,18 +70457,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xea800040 }, .id = HEX_INS_M7_DCMPYRW_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += cmpyrw(,)", .il_ops = { - { hex_il_op_m7_dcmpyrw_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m7_dcmpyrw_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70475,18 +70476,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe8c00040 }, .id = HEX_INS_M7_DCMPYRWC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyrw(,*)", .il_ops = { - { hex_il_op_m7_dcmpyrwc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m7_dcmpyrwc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70494,18 +70495,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xeac00040 }, .id = HEX_INS_M7_DCMPYRWC_ACC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'x', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " += cmpyrw(,*)", .il_ops = { - { hex_il_op_m7_dcmpyrwc_acc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m7_dcmpyrwc_acc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70513,18 +70514,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe9200000 }, .id = HEX_INS_M7_WCMPYIW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyiw(,):<<1:sat", .il_ops = { - { hex_il_op_m7_wcmpyiw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m7_wcmpyiw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70532,18 +70533,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe9a00000 }, .id = HEX_INS_M7_WCMPYIW_RND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyiw(,):<<1:rnd:sat", .il_ops = { - { hex_il_op_m7_wcmpyiw_rnd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m7_wcmpyiw_rnd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70551,18 +70552,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe9000080 }, .id = HEX_INS_M7_WCMPYIWC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyiw(,*):<<1:sat", .il_ops = { - { hex_il_op_m7_wcmpyiwc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m7_wcmpyiwc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70570,18 +70571,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe9800080 }, .id = HEX_INS_M7_WCMPYIWC_RND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyiw(,*):<<1:rnd:sat", .il_ops = { - { hex_il_op_m7_wcmpyiwc_rnd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m7_wcmpyiwc_rnd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70589,18 +70590,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe9400000 }, .id = HEX_INS_M7_WCMPYRW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyrw(,):<<1:sat", .il_ops = { - { hex_il_op_m7_wcmpyrw, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m7_wcmpyrw, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70608,18 +70609,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe9c00000 }, .id = HEX_INS_M7_WCMPYRW_RND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyrw(,):<<1:rnd:sat", .il_ops = { - { hex_il_op_m7_wcmpyrw_rnd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m7_wcmpyrw_rnd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70627,18 +70628,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe9600000 }, .id = HEX_INS_M7_WCMPYRWC, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyrw(,*):<<1:sat", .il_ops = { - { hex_il_op_m7_wcmpyrwc, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m7_wcmpyrwc, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70646,18 +70647,18 @@ static const HexInsnTemplate templates_normal_0xe[] = { .encoding = { .mask = 0xffe020e0, .op = 0xe9e00000 }, .id = HEX_INS_M7_WCMPYRWC_RND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmpyrw(,*):<<1:rnd:sat", .il_ops = { - { hex_il_op_m7_wcmpyrwc_rnd, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_m7_wcmpyrwc_rnd, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -70669,9 +70670,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf3000000 }, .id = HEX_INS_A2_ADD, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -70679,8 +70680,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = add(,)", .il_ops = { { hex_il_op_a2_add, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70688,9 +70689,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf6400000 }, .id = HEX_INS_A2_ADDSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -70698,8 +70699,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = add(,):sat", .il_ops = { { hex_il_op_a2_addsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70707,9 +70708,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf1000000 }, .id = HEX_INS_A2_AND, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -70717,8 +70718,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = and(,)", .il_ops = { { hex_il_op_a2_and, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70726,9 +70727,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf3800000 }, .id = HEX_INS_A2_COMBINE_HH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -70736,8 +70737,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = combine(.h,.h)", .il_ops = { { hex_il_op_a2_combine_hh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70745,9 +70746,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf3a00000 }, .id = HEX_INS_A2_COMBINE_HL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -70755,8 +70756,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = combine(.h,.l)", .il_ops = { { hex_il_op_a2_combine_hl, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70764,9 +70765,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf3c00000 }, .id = HEX_INS_A2_COMBINE_LH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -70774,8 +70775,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = combine(.l,.h)", .il_ops = { { hex_il_op_a2_combine_lh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70783,9 +70784,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf3e00000 }, .id = HEX_INS_A2_COMBINE_LL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -70793,8 +70794,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = combine(.l,.l)", .il_ops = { { hex_il_op_a2_combine_ll, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70802,9 +70803,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf5000000 }, .id = HEX_INS_A2_COMBINEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -70812,8 +70813,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = combine(,)", .il_ops = { { hex_il_op_a2_combinew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70821,9 +70822,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf1200000 }, .id = HEX_INS_A2_OR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -70831,8 +70832,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = or(,)", .il_ops = { { hex_il_op_a2_or, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70840,10 +70841,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xfb000080 }, .id = HEX_INS_A2_PADDF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -70851,9 +70852,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (!) = add(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_paddf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_paddf, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70861,10 +70862,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xfb002080 }, .id = HEX_INS_A2_PADDFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -70872,9 +70873,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (!.new) = add(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_paddfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_paddfnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70882,10 +70883,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xfb000000 }, .id = HEX_INS_A2_PADDT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -70893,9 +70894,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if () = add(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_paddt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_paddt, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70903,10 +70904,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xfb002000 }, .id = HEX_INS_A2_PADDTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -70914,9 +70915,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (.new) = add(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_paddtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_paddtnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70924,10 +70925,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xf9000080 }, .id = HEX_INS_A2_PANDF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -70935,9 +70936,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (!) = and(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_pandf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_pandf, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70945,10 +70946,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xf9002080 }, .id = HEX_INS_A2_PANDFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -70956,9 +70957,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (!.new) = and(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_pandfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_pandfnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70966,10 +70967,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xf9000000 }, .id = HEX_INS_A2_PANDT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -70977,9 +70978,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if () = and(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_pandt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_pandt, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -70987,10 +70988,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xf9002000 }, .id = HEX_INS_A2_PANDTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -70998,9 +70999,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (.new) = and(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_pandtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_pandtnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71008,10 +71009,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xf9200080 }, .id = HEX_INS_A2_PORF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -71019,9 +71020,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (!) = or(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_porf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_porf, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71029,10 +71030,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xf9202080 }, .id = HEX_INS_A2_PORFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -71040,9 +71041,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (!.new) = or(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_porfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_porfnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71050,10 +71051,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xf9200000 }, .id = HEX_INS_A2_PORT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -71061,9 +71062,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if () = or(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_port, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_port, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71071,10 +71072,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xf9202000 }, .id = HEX_INS_A2_PORTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 16 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 16 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -71082,9 +71083,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (.new) = or(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_portnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_portnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71092,10 +71093,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xfb200080 }, .id = HEX_INS_A2_PSUBF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -71103,9 +71104,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (!) = sub(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_psubf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_psubf, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71113,10 +71114,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xfb202080 }, .id = HEX_INS_A2_PSUBFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -71124,9 +71125,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (!.new) = sub(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_psubfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_psubfnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71134,10 +71135,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xfb200000 }, .id = HEX_INS_A2_PSUBT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -71145,9 +71146,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if () = sub(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_psubt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_psubt, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71155,10 +71156,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xfb202000 }, .id = HEX_INS_A2_PSUBTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -71166,9 +71167,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (.new) = sub(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_psubtnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_psubtnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71176,10 +71177,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xf9600080 }, .id = HEX_INS_A2_PXORF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 15 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 15 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -71187,9 +71188,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (!) = xor(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_pxorf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_pxorf, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71197,10 +71198,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xf9602080 }, .id = HEX_INS_A2_PXORFNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -71208,9 +71209,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (!.new) = xor(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_pxorfnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_pxorfnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71218,10 +71219,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xf9600000 }, .id = HEX_INS_A2_PXORT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 14 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 14 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -71229,9 +71230,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if () = xor(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_pxort, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_pxort, HEX_IL_INSN_ATTR_COND }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71239,10 +71240,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xf9602000 }, .id = HEX_INS_A2_PXORTNEW, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -71250,9 +71251,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (.new) = xor(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_a2_pxortnew, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_a2_pxortnew, HEX_IL_INSN_ATTR_COND | HEX_IL_INSN_ATTR_NEW }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71260,9 +71261,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf3200000 }, .id = HEX_INS_A2_SUB, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -71270,8 +71271,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = sub(,)", .il_ops = { { hex_il_op_a2_sub, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71279,9 +71280,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf6c00000 }, .id = HEX_INS_A2_SUBSAT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -71289,8 +71290,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = sub(,):sat", .il_ops = { { hex_il_op_a2_subsat, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71298,9 +71299,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf6000000 }, .id = HEX_INS_A2_SVADDH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -71308,8 +71309,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = vaddh(,)", .il_ops = { { hex_il_op_a2_svaddh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71317,9 +71318,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf6200000 }, .id = HEX_INS_A2_SVADDHS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -71327,8 +71328,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = vaddh(,):sat", .il_ops = { { hex_il_op_a2_svaddhs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71336,9 +71337,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf6600000 }, .id = HEX_INS_A2_SVADDUHS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -71346,8 +71347,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = vadduh(,):sat", .il_ops = { { hex_il_op_a2_svadduhs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71355,9 +71356,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf7000000 }, .id = HEX_INS_A2_SVAVGH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -71365,8 +71366,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = vavgh(,)", .il_ops = { { hex_il_op_a2_svavgh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71374,9 +71375,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf7200000 }, .id = HEX_INS_A2_SVAVGHS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -71384,8 +71385,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = vavgh(,):rnd", .il_ops = { { hex_il_op_a2_svavghs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71393,9 +71394,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf7600000 }, .id = HEX_INS_A2_SVNAVGH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -71403,8 +71404,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = vnavgh(,)", .il_ops = { { hex_il_op_a2_svnavgh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71412,9 +71413,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf6800000 }, .id = HEX_INS_A2_SVSUBH, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -71422,8 +71423,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = vsubh(,)", .il_ops = { { hex_il_op_a2_svsubh, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71431,9 +71432,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf6a00000 }, .id = HEX_INS_A2_SVSUBHS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -71441,8 +71442,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = vsubh(,):sat", .il_ops = { { hex_il_op_a2_svsubhs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71450,9 +71451,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf6e00000 }, .id = HEX_INS_A2_SVSUBUHS, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -71460,8 +71461,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = vsubuh(,):sat", .il_ops = { { hex_il_op_a2_svsubuhs, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71469,9 +71470,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf1600000 }, .id = HEX_INS_A2_XOR, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -71479,8 +71480,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = xor(,)", .il_ops = { { hex_il_op_a2_xor, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71488,9 +71489,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf1800000 }, .id = HEX_INS_A4_ANDN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -71498,8 +71499,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = and(,~)", .il_ops = { { hex_il_op_a4_andn, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71507,9 +71508,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf1a00000 }, .id = HEX_INS_A4_ORN, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -71517,8 +71518,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = or(,~)", .il_ops = { { hex_il_op_a4_orn, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71526,9 +71527,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf3400000 }, .id = HEX_INS_A4_RCMPEQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -71536,8 +71537,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = cmp.eq(,)", .il_ops = { { hex_il_op_a4_rcmpeq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71545,9 +71546,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf3600000 }, .id = HEX_INS_A4_RCMPNEQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, @@ -71555,8 +71556,8 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = " = !cmp.eq(,)", .il_ops = { { hex_il_op_a4_rcmpneq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71564,10 +71565,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xfd000080 }, .id = HEX_INS_C2_CCOMBINEWF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 19 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 19 }, }, .pred = HEX_PRED_FALSE, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -71575,9 +71576,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (!) = combine(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_c2_ccombinewf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_ccombinewf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71585,10 +71586,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xfd002080 }, .id = HEX_INS_C2_CCOMBINEWNEWF, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 5 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 22 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 23 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 5 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 23 }, }, .pred = HEX_PRED_FALSE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_FALSE, @@ -71596,9 +71597,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (!.new) = combine(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_c2_ccombinewnewf, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_ccombinewnewf, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71606,10 +71607,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xfd002000 }, .id = HEX_INS_C2_CCOMBINEWNEWT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 21 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 22 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 21 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 22 }, }, .pred = HEX_PRED_TRUE | HEX_PRED_NEW, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -71617,9 +71618,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if (.new) = combine(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_c2_ccombinewnewt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_ccombinewnewt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71627,10 +71628,10 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xfd000000 }, .id = HEX_INS_C2_CCOMBINEWT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 4 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 6 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 17 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 18 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 4 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 6 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 17 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 18 }, }, .pred = HEX_PRED_TRUE, .cond = RZ_TYPE_COND_HEX_SCL_TRUE, @@ -71638,9 +71639,9 @@ static const HexInsnTemplate templates_normal_0xf[] = { .syntax = "if () = combine(,)", .flags = HEX_INSN_TEMPLATE_FLAG_PREDICATED, .il_ops = { - { hex_il_op_c2_ccombinewt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_ccombinewt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71648,18 +71649,18 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020fc, .op = 0xf2000000 }, .id = HEX_INS_C2_CMPEQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmp.eq(,)", .il_ops = { - { hex_il_op_c2_cmpeq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_cmpeq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71667,18 +71668,18 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020fc, .op = 0xf2400000 }, .id = HEX_INS_C2_CMPGT, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmp.gt(,)", .il_ops = { - { hex_il_op_c2_cmpgt, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_cmpgt, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71686,18 +71687,18 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020fc, .op = 0xf2600000 }, .id = HEX_INS_C2_CMPGTU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = cmp.gtu(,)", .il_ops = { - { hex_il_op_c2_cmpgtu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_cmpgtu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71705,19 +71706,19 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe02080, .op = 0xf4000000 }, .id = HEX_INS_C2_MUX, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 7 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 8 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 9 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x2, 5 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'u', .syntax = 7 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 8 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 9 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = mux(,,)", .il_ops = { - { hex_il_op_c2_mux, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c2_mux, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71725,18 +71726,18 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020fc, .op = 0xf2400010 }, .id = HEX_INS_C4_CMPLTE, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = !cmp.gt(,)", .il_ops = { - { hex_il_op_c4_cmplte, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_cmplte, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71744,18 +71745,18 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020fc, .op = 0xf2600010 }, .id = HEX_INS_C4_CMPLTEU, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 13 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 13 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = !cmp.gtu(,)", .il_ops = { - { hex_il_op_c4_cmplteu, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_cmplteu, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71763,18 +71764,18 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020fc, .op = 0xf2000010 }, .id = HEX_INS_C4_CMPNEQ, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 12 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT, .masks = { { 0x2, 0 } }, .reg_cls = HEX_REG_CLASS_PRED_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 12 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = !cmp.eq(,)", .il_ops = { - { hex_il_op_c4_cmpneq, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_c4_cmpneq, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { @@ -71782,18 +71783,18 @@ static const HexInsnTemplate templates_normal_0xf[] = { .encoding = { .mask = 0xffe020e0, .op = 0xf5800000 }, .id = HEX_INS_S2_PACKHL, .ops = { - { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .syntax = 0 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 10 }, - { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .syntax = 11 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG | HEX_OP_TEMPLATE_FLAG_REG_OUT | HEX_OP_TEMPLATE_FLAG_REG_PAIR, .masks = { { 0x5, 0 } }, .reg_cls = HEX_REG_CLASS_DOUBLE_REGS, .isa_id = 'd', .syntax = 0 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 16 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 's', .syntax = 10 }, + { .info = HEX_OP_TEMPLATE_TYPE_REG, .masks = { { 0x5, 8 } }, .reg_cls = HEX_REG_CLASS_INT_REGS, .isa_id = 't', .syntax = 11 }, }, .pred = HEX_NOPRED, .cond = RZ_TYPE_COND_AL, .type = RZ_ANALYSIS_OP_TYPE_NULL, .syntax = " = packhl(,)", .il_ops = { - { hex_il_op_s2_packhl, HEX_IL_INSN_ATTR_NONE }, - { NULL, NULL }, - { NULL, NULL }, + { hex_il_op_s2_packhl, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, + { (HexILOpGetter)NULL, HEX_IL_INSN_ATTR_INVALID }, }, }, { { 0 } }, @@ -71913,6 +71914,7 @@ static void hex_disasm_with_templates(const HexInsnTemplate *tpl, HexState *stat switch (type) { case HEX_OP_TEMPLATE_TYPE_IMM: { hi->ops[i].type = HEX_OP_TYPE_IMM; + hi->ops[i].class = op->info; ut32 bits_total; hi->ops[i].op.imm = hex_op_masks_extract(op->masks, hi_u32, &bits_total) << op->imm_scale; hi->ops[i].shift = op->imm_scale; @@ -71955,6 +71957,7 @@ static void hex_disasm_with_templates(const HexInsnTemplate *tpl, HexState *stat break; case HEX_OP_TEMPLATE_TYPE_REG: hi->ops[i].type = HEX_OP_TYPE_REG; + hi->ops[i].class = op->reg_cls; hi->ops[i].op.reg = hex_op_masks_extract(op->masks, hi_u32, NULL); if (op->info & HEX_OP_TEMPLATE_FLAG_REG_OUT) { hi->ops[i].attr |= HEX_OP_REG_OUT; @@ -71970,7 +71973,7 @@ static void hex_disasm_with_templates(const HexInsnTemplate *tpl, HexState *stat if (op->info & HEX_OP_TEMPLATE_FLAG_REG_N_REG) { regidx = resolve_n_register(hi->ops[i].op.reg, hi->addr, pkt); } - rz_strbuf_append(&sb, hex_get_reg_in_class(op->reg_cls, regidx, print_reg_alias)); + rz_strbuf_append(&sb, hex_get_reg_in_class(op->reg_cls, regidx, print_reg_alias, false, false)); break; default: rz_warn_if_reached();